Re: [PATCH v5 2/4] format-patch: add '--base' option to record base tree info
From: Junio C Hamano <hidden>
Date: 2016-06-16 02:18:55
Xiaolong Ye [off-list ref] writes:
quoted hunk
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?