Skip to content
  • Matthieu Moy's avatar
    pager: remove 'S' from $LESS by default · b3275838
    Matthieu Moy authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    By default, Git used to set $LESS to -FRSX if $LESS was not set by
    the user. The FRX flags actually make sense for Git (F and X because
    sometimes the output Git pipes to less is short, and R because Git
    pipes colored output). The S flag (chop long lines), on the other
    hand, is not related to Git and is a matter of user preference. Git
    should not decide for the user to change LESS's default.
    
    More specifically, the S flag harms users who review untrusted code
    within a pager, since a patch looking like:
    
        -old code;
        +new good code; [... lots of tabs ...] malicious code;
    
    would appear identical to:
    
        -old code;
        +new good code;
    
    Users who prefer the old behavior can still set the $LESS environment
    variable to -FRSX explicitly, or set core.pager to 'less -S'.
    
    The documentation in config.txt is made a bit longer to keep both an
    example setting the 'S' flag (needed to recover the old behavior)
    and an example showing how to unset a flag set by Git.
    
    Signed-off-by: default avatarMatthieu Moy <Matthieu.Moy@imag.fr>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    b3275838