On Mon, Apr 16, 2012 at 12:50:24PM -0400, Neil Horman wrote: > On Mon, Apr 16, 2012 at 09:35:12AM -0700, Junio C Hamano wrote: > > Neil Horman <nhorman@xxxxxxxxxxxxx> writes: > > > > > On Sun, Apr 15, 2012 at 11:39:35AM +0200, Clemens Buchacher wrote: > > > ... > > >> > +test_expect_success 'cherry pick an empty non-ff commit with --allow-empty' ' > > >> > + git checkout master && { > > >> > + git cherry-pick --allow-empty empty-branch2 > > >> > + } > > >> > +' > > >> > + > > >> > +test_expect_success 'cherry pick with --keep-redundant-commits' ' > > >> > + git checkout master && { > > >> > + git cherry-pick --keep-redundant-commits HEAD^ > > >> > + } > > >> > +' > > >> > > >> And the expected result is that the HEAD commit is not removed, right? > > >> You should check for that as well. > > >> > > >> Also, please checkout empty-branch2^0 first, in order to make the test > > >> independent of its predecessor. > > > > > > Not sure I follow what your saying here. The expected result with both of these > > > tests is that a new commit is created, referencing the current HEAD as the new > > > HEAD's parent. > > > > If the request were "checkout master^0 first" I would understand. The > > precondition for the second test will be different depending on the first > > one succeeds or not. Perhaps that is what Clemens meant? > > > Perhaps, but if so, I'm still not sure how a checkout of empty-branch2^0 affects > these tests at all, nor do I grok the relevance to ensuring that the HEAD commit > wasn't removed (as AIUI, cherry pick never does that anyway). Clement, can you > clarify your thoughts here please? It seems that I was implying a lot more than I realized. What I meant was that master and empty-branch2 are equivalent for the purposes of that test (empty-branch2^ also is a non-empty commit [*1*]), but while master is a moving target, empty-branch2 is untouched. However, I just notice that empty-branch2 is also the root commit, so maybe this will not work after all. But that should be easy to fix. And now I am also wondering why we have two tests for cherry picking an empty commit without --allow-empty (the one that you added and the one that was there before). Is the non-ff part significant and if so, how? And why don't we need to test fast-forward cherry-pick with --allow-empty? -- 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