Re: [PATCH 1/2] t3404: demonstrate CHERRY_PICK_HEAD bug

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

Re: [PATCH 1/2] t3404: demonstrate CHERRY_PICK_HEAD bug

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:05:21

Johannes Schindelin [off-list ref] writes:
+test_expect_failure 'rebase --continue removes CHERRY_PICK_HEAD' '
+	git checkout -b commit-to-skip &&
+	for double in X 3 1
+	do
+		seq 5 | sed "s/$double/&&/" >seq &&
+		git add seq &&
+		test_tick &&
+		git commit -m seq-$double
+	done &&
+	git tag seq-onto &&
+	git reset --hard HEAD~2 &&
+	git cherry-pick seq-onto &&
+	test_must_fail git rebase -i seq-onto &&
Shouldn't this explicitly specify what fake editor is to be used,
instead of relying on whatever the last test happened to have used?

I thought this deserved to go to older maintenance track, but the
fake editor that was used last are different between branches, so
"rebase -i" fails for a wrong reason (i.e. cannot spawn the editor)
when queued on say maint-2.2.
+	test -d .git/rebase-merge &&
+	git rebase --continue &&
+	git diff seq-onto &&
I am puzzled with this "diff"; what is this about?  Is it a remnant
from an earlier debugging session, or is it making sure seq-onto is
a valid tree-ish?
+	test ! -d .git/rebase-merge &&
+	test ! -f .git/CHERRY_PICK_HEAD
+'
+
 test_done
Thanks.

Re: [PATCH 1/2] t3404: demonstrate CHERRY_PICK_HEAD bug

From: Johannes Schindelin <hidden>
Date: 2016-06-15 23:05:22

Hi Junio,

On 2015-06-17 19:33, Junio C Hamano wrote:
Johannes Schindelin [off-list ref] writes:
quoted
+test_expect_failure 'rebase --continue removes CHERRY_PICK_HEAD' '
+	git checkout -b commit-to-skip &&
+	for double in X 3 1
+	do
+		seq 5 | sed "s/$double/&&/" >seq &&
+		git add seq &&
+		test_tick &&
+		git commit -m seq-$double
+	done &&
+	git tag seq-onto &&
+	git reset --hard HEAD~2 &&
+	git cherry-pick seq-onto &&
+	test_must_fail git rebase -i seq-onto &&
Shouldn't this explicitly specify what fake editor is to be used,
instead of relying on whatever the last test happened to have used?

I thought this deserved to go to older maintenance track, but the
fake editor that was used last are different between branches, so
"rebase -i" fails for a wrong reason (i.e. cannot spawn the editor)
when queued on say maint-2.2.
True. Thanks for pointing that out. Will be fixed in v2.
quoted
+	test -d .git/rebase-merge &&
+	git rebase --continue &&
+	git diff seq-onto &&
I am puzzled with this "diff"; what is this about?  Is it a remnant
from an earlier debugging session, or is it making sure seq-onto is
a valid tree-ish?
The idea is to verify that we end up with the same tree even if we exchanged the latest two patches. I can remove it if you want as it is not strictly necessary, but I would like to keep it just to make sure that we did not end up with an incomplete rebase.

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