]> git.ipfire.org Git - thirdparty/git.git/commitdiff
commit, sequencer: turn off break_opt for commit summary
authorRené Scharfe <l.s.r@web.de>
Mon, 4 Apr 2022 21:08:26 +0000 (23:08 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 6 Apr 2022 14:56:21 +0000 (07:56 -0700)
dc6b1d92ca (wt-status: use settings from git_diff_ui_config, 2018-05-04)
disabled diffopt.break_opt for diffstats shown by git status and in
commit templates.  For git status there isn't even a way to enable it.
Make the commit summary (shown after the commit) consistent by disabling
it there as well.

Reported-by: Laurent Lyaudet <laurent.lyaudet@gmail.com>
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
sequencer.c
t/t7524-commit-summary.sh [new file with mode: 0755]

index 5213d16e97174adbf10fc487edb0f3d3a726f7d7..eee1464ecf1ff531b4801790ac9221ff605731e9 100644 (file)
@@ -1328,7 +1328,6 @@ void print_commit_summary(struct repository *r,
        get_commit_format(format.buf, &rev);
        rev.always_show_header = 0;
        rev.diffopt.detect_rename = DIFF_DETECT_RENAME;
-       rev.diffopt.break_opt = 0;
        diff_setup_done(&rev.diffopt);
 
        refs = get_main_ref_store(the_repository);
diff --git a/t/t7524-commit-summary.sh b/t/t7524-commit-summary.sh
new file mode 100755 (executable)
index 0000000..47b2f1d
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+test_description='git commit summary'
+. ./test-lib.sh
+
+test_expect_success 'setup' '
+       test_seq 101 200 >file &&
+       git add file &&
+       git commit -m initial &&
+       git tag initial
+'
+
+test_expect_success 'commit summary ignores rewrites' '
+       git reset --hard initial &&
+       test_seq 200 300 >file &&
+
+       git diff --stat >diffstat &&
+       git diff --stat --break-rewrites >diffstatrewrite &&
+
+       # make sure this scenario is a detectable rewrite
+       ! test_cmp_bin diffstat diffstatrewrite &&
+
+       git add file &&
+       git commit -m second >actual &&
+
+       grep "1 file" <actual >actual.total &&
+       grep "1 file" <diffstat >diffstat.total &&
+       test_cmp diffstat.total actual.total
+'
+
+test_done