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

From: Junio C Hamano <[email-masked]>
Date: Wed, 17 Jun 2015 10:33:39 -0700

Johannes Schindelin <[email-masked]> 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.