Am 05.04.22 um 03:58 schrieb Ævar Arnfjörð Bjarmason: > > On Mon, Apr 04 2022, René Scharfe wrote: > >> diff --git a/sequencer.c b/sequencer.c >> index a1bb39383d..85a17d45bd 100644 >> --- a/sequencer.c >> +++ b/sequencer.c >> @@ -1327,7 +1327,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 >> index 0000000000..47b2f1dc22 >> --- /dev/null >> +++ b/t/t7524-commit-summary.sh >> @@ -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 && > > A leftover debugging aid? No, I expect all tests in that file will need to reset the state and didn't want to make an exception just for the first one. It might be a case of YAGNI, but I put the reset in intentionally. > You can also use test_commit earlier: > > diff --git a/t/t7524-commit-summary.sh b/t/t7524-commit-summary.sh > index 47b2f1dc22a..60027e86ccd 100755 > --- a/t/t7524-commit-summary.sh > +++ b/t/t7524-commit-summary.sh > @@ -4,14 +4,10 @@ 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_commit initial file "$(test_seq 101 200)" Nice. Would ignore test_seq errors, though. Probably not worth worrying too much about. > ' > > test_expect_success 'commit summary ignores rewrites' ' > - git reset --hard initial && > test_seq 200 300 >file && > > git diff --stat >diffstat && > > >> + 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 && > > Is this really binary? I removed the ! and tried test_cmp, and it's just > a diffstat. > > Elsewhere in the test suite we test_cmp this output, would be > clearer/easier to read to do the same here if possible. The required result is one bit (same content or not?). That sanity check should not waste cycles calculating and printing a diff of the diffstats. I only want to make sure they are different. > >> + >> + 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 >