pager: remove 'S' from $LESS by default
commitb3275838d969b7ecb91aae584226fccbeb046aca
authorMatthieu Moy <Matthieu.Moy@imag.fr>
Wed, 30 Apr 2014 07:35:25 +0000 (30 09:35 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 7 May 2014 20:41:04 +0000 (7 13:41 -0700)
tree2906218b9707f42caa5eaf7a1f1bae512fad35d6
parentd8779e1e2536bdd024254af14d2c046bba2bbb01
pager: remove 'S' from $LESS by default

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: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config.txt
git-sh-setup.sh
pager.c
perl/Git/SVN/Log.pm