The output formats of "git log" that indent the log message by 4 spaces have been updated to expand tabs by default in previous steps, without a way to restore the original behaviour. Introduce a new "--no-expand-tabs" option to allow this. As the effect of options is cumulative, $ git log [--pretty=medium] --no-expand-tabs would not expand, while this invocation $ git log --no-expand-tabs --pretty[=medium] by virtue of having --pretty later on the command line, expands tabs again. We _could_ introduce --expand-tabs option as well, to allow $ git log --pretty=email --expand-tabs but we don't bother, as the output format that do not expand tabs by default are mostly meant to transfer the contents as literally as possible. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- --- Documentation/pretty-options.txt | 6 ++++++ revision.c | 2 ++ t/t4201-shortlog.sh | 4 ++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Documentation/pretty-options.txt b/Documentation/pretty-options.txt index 4b659ac..069b927 100644 --- a/Documentation/pretty-options.txt +++ b/Documentation/pretty-options.txt @@ -42,6 +42,12 @@ people using 80-column terminals. verbatim; this means that invalid sequences in the original commit may be copied to the output. +--no-expand-tabs:: + The formats that indent the log message by 4 spaces + (i.e. 'medium', 'full', and 'fuller') by default show tabs + in the log message expanded. This option disables the + expansion. + ifndef::git-rev-list[] --notes[=<ref>]:: Show the notes (see linkgit:git-notes[1]) that annotate the diff --git a/revision.c b/revision.c index 8827d9f..b0d2a36 100644 --- a/revision.c +++ b/revision.c @@ -1916,6 +1916,8 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg revs->verbose_header = 1; revs->pretty_given = 1; get_commit_format(arg+9, revs); + } else if (!strcmp(arg, "--no-expand-tabs")) { + revs->expand_tabs_in_log = 0; } else if (!strcmp(arg, "--show-notes") || !strcmp(arg, "--notes")) { revs->show_notes = 1; revs->show_notes_given = 1; diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh index d1e8259..2fec948 100755 --- a/t/t4201-shortlog.sh +++ b/t/t4201-shortlog.sh @@ -114,8 +114,8 @@ EOF test_cmp expect out ' -test_expect_failure !MINGW 'shortlog from non-git directory' ' - git log HEAD >log && +test_expect_success !MINGW 'shortlog from non-git directory' ' + git log --no-expand-tabs HEAD >log && GIT_DIR=non-existing git shortlog -w <log >out && test_cmp expect out ' -- 2.8.0-rc4-198-g3f6b64c -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html