From: Phillip Wood Date: Wed, 11 Mar 2020 10:30:43 GMT Subject: Re: [PATCH 1/2] sequencer: clear CHERRY_PICK_HEAD upon dropping a become-empty commit Message-ID: <94eec36b-581a-17eb-7aeb-2d24c90b8e73@gmail.com> In-Reply-To: <132f769adb0a34e74b6c237ff84bf8b624ea0d9f.1583903621.git.gitgitgadget@gmail.com> Hi Elijah On 11/03/2020 05:13, Elijah Newren via GitGitGadget wrote: > From: Elijah Newren > > In commit e98c4269c8 ("rebase (interactive-backend): fix handling of > commits that become empty", 2020-02-15), the merge backend was changed > to drop commits that did not start empty but became so after being > applied (because their changes were a subset of what was already > upstream). This new code path did not need to go through the process of > creating a commit, since we were dropping the commit instead. > Unfortunately, this also means we bypassed the clearing of the > CHERRY_PICK_HEAD file, which if there were no further commits to > cherry-pick would mean that the rebase would end but assume there was > still an operation in progress. Ensure that we clear CHERRY_PICK_HEAD > when we decide to drop the commit. Thanks for fixing this, it needs to clean up MERGE_MSG as well though Best Wishes Phillip > Signed-off-by: Elijah Newren > --- > sequencer.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/sequencer.c b/sequencer.c > index 7477b15422a..8b4e0200c5f 100644 > --- a/sequencer.c > +++ b/sequencer.c > @@ -1957,6 +1957,7 @@ static int do_pick_commit(struct repository *r, > flags |= ALLOW_EMPTY; > } else if (allow == 2) { > drop_commit = 1; > + unlink(git_path_cherry_pick_head(r)); > fprintf(stderr, > _("dropping %s %s -- patch contents already upstream\n"), > oid_to_hex(&commit->object.oid), msg.subject); >