diff options
author | Matthieu Moy <Matthieu.Moy@imag.fr> | 2014-04-30 09:35:25 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-05-07 13:41:04 -0700 |
commit | b3275838d969b7ecb91aae584226fccbeb046aca (patch) | |
tree | 2906218b9707f42caa5eaf7a1f1bae512fad35d6 /git-sh-setup.sh | |
parent | d8779e1e2536bdd024254af14d2c046bba2bbb01 (diff) | |
download | git-b3275838d969b7ecb91aae584226fccbeb046aca.tar.gz |
pager: remove 'S' from $LESS by defaultmm/pager-less-sans-S
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>
Diffstat (limited to 'git-sh-setup.sh')
-rw-r--r-- | git-sh-setup.sh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/git-sh-setup.sh b/git-sh-setup.sh index 5f28b32dc7..9447980330 100644 --- a/git-sh-setup.sh +++ b/git-sh-setup.sh @@ -160,7 +160,7 @@ git_pager() { else GIT_PAGER=cat fi - : ${LESS=-FRSX} + : ${LESS=-FRX} : ${LV=-c} export LESS LV |