Xiaolong Ye <xiaolong.ye@xxxxxxxxx> writes: > diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh > index eed2981..a6ce727 100755 > --- a/t/t4014-format-patch.sh > +++ b/t/t4014-format-patch.sh > @@ -1460,4 +1460,19 @@ test_expect_success 'format-patch -o overrides format.outputDirectory' ' > test_path_is_dir patchset > ' > > +test_expect_success 'format-patch --base' ' > + git checkout side && > + git format-patch --stdout --base=HEAD~~~ -1 >patch && > + grep -e "^base-commit:" -A3 patch >actual && > + echo "base-commit: $(git rev-parse HEAD~~~)" >expected && HEAD~3 would be easier to read (and HEAD~2 is easier than HEAD~~). > + echo "prerequisite-patch-id: $(git show --patch HEAD~~ | git patch-id --stable | awk "{print \$1}")" >>expected && > + echo "prerequisite-patch-id: $(git show --patch HEAD~ | git patch-id --stable | awk "{print \$1}")" >>expected && > + test_cmp expected actual > +' > + > +test_expect_success 'format-patch --base error handling' ' > + ! git format-patch --base=HEAD~ -2 && > + ! git format-patch --base=HEAD~ -3 > +' When making sure that "git" exits with a failure in a controlled way (i.e. you want to consider "git" that segfaults as not passing the test), do not use "! git cmd", but use "test_must_fail git cmd" instead. You now have a quite elaborate logic in base validation in this round. Is the topology of the history used in this test still complex enough to make sure the logic is being tested? -- 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