Re: [PATCH v5 2/4] format-patch: add '--base' option to record base tree info

2 messages, 2 authors, 2016-06-16 · open the first message on its own page

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?

Re: [PATCH v5 2/4] format-patch: add '--base' option to record base tree info

From: Ye Xiaolong <hidden>
Date: 2016-06-16 02:18:56

On Fri, Apr 22, 2016 at 02:39:28PM -0700, Junio C Hamano wrote:
Xiaolong Ye [off-list ref] writes:
quoted
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~~).
quoted
+	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.
Thanks for the reminder, I misunderstood the guide in t/README before.
You now have a quite elaborate logic in base validation in this
rounhd.  Is the topology of the history used in this test still
complex enough to make sure the logic is being tested?
I'll try to set up more complex topology of the history for the
testcase.

Thanks,
Xiaolong.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help