This iteration incorporates the changes to the tests suggested in the reviews from the previous iteration. The main change is to split the tests proposed in the previous iteration into several separate tests; separating the functionality that checks when `--cover-letter` is implicitly assumed, from the tests that check when this implicit assumption is avoided. The new patch in the series, [1/2], is a preparation patch that reorders the way `test_when_finished` is used in t4014, making it more reasonable and logical. Thanks. Rubén Justo (2): t4014: cleanups in a few tests format-patch: assume --cover-letter for diff in multi-patch series builtin/log.c | 2 ++ t/t3206-range-diff.sh | 14 ++++++++++++++ t/t4014-format-patch.sh | 25 ++++++++++++++++++++----- 3 files changed, 36 insertions(+), 5 deletions(-) Range-diff against v3: -: ---------- > 1: 678bae2e42 t4014: cleanups in a few tests 1: 78aeff9016 ! 2: d1e9f8561b format-patch: assume --cover-letter for diff in multi-patch series @@ t/t3206-range-diff.sh: do ' done -+test_expect_success "format-patch --range-diff, implicit --cover-letter" ' ++test_expect_success "--range-diff implies --cover-letter for multi-patch series" ' ++ test_when_finished "rm -f v2-000?-*" && ++ git format-patch -v2 --range-diff=topic main..unmodified && ++ test_grep "^Range-diff against v1:$" v2-0000-cover-letter.patch ++' ++ ++test_expect_success "explicit --no-cover-letter defeats implied --cover-letter" ' ++ test_when_finished "rm -f v2-000?-*" && + test_must_fail git format-patch --no-cover-letter \ + -v2 --range-diff=topic main..unmodified && + test_must_fail git -c format.coverLetter=no format-patch \ -+ -v2 --range-diff=topic main..unmodified && -+ git format-patch -v2 --range-diff=topic main..unmodified && -+ test_when_finished "rm v2-000?-*" && -+ test_grep "^Range-diff against v1:$" v2-0000-cover-letter.patch ++ -v2 --range-diff=topic main..unmodified +' + test_expect_success 'format-patch --range-diff as commentary' ' @@ t/t4014-format-patch.sh: test_expect_success 'interdiff: solo-patch' ' ' +test_expect_success 'interdiff: multi-patch, implicit --cover-letter' ' -+ test_must_fail git format-patch --no-cover-letter \ -+ --interdiff=boop~2 -2 -v23 && -+ test_must_fail git -c format.coverLetter=no format-patch \ -+ --interdiff=boop~2 -2 -v23 && ++ test_when_finished "rm -f v23-0*.patch" && + git format-patch --interdiff=boop~2 -2 -v23 && + test_grep "^Interdiff against v22:$" v23-0000-cover-letter.patch && + test_cmp expect actual +' ++ ++test_expect_success 'interdiff: explicit --no-cover-letter defeats implied --cover-letter' ' ++ test_when_finished "rm -f v23-0*.patch" && ++ test_must_fail git format-patch --no-cover-letter \ ++ --interdiff=boop~2 -2 -v23 && ++ test_must_fail git -c format.coverLetter=no format-patch \ ++ --interdiff=boop~2 -2 -v23 ++' + test_expect_success 'format-patch does not respect diff.noprefix' ' git -c diff.noprefix format-patch -1 --stdout >actual && -- 2.45.2.23.gd1e9f8561b