From: Junio C Hamano Date: Fri, 16 Dec 2016 19:13:28 GMT Subject: Re: [PATCH v2 11/34] sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed Message-ID: In-Reply-To: <81ba5f7ddb3a1a66e878b955094b7ae00f2cd781.1481642927.git.johannes.schindelin@gmx.de> Johannes Schindelin writes: > The scripted version of the interactive rebase already does that. Sensible. I was wondering why this wasn't there while reviewing 10/34, comparing the two (this is not a suggestion to squash this into the previous step). > > Signed-off-by: Johannes Schindelin > --- > sequencer.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/sequencer.c b/sequencer.c > index 855d3ba503..abffaf3b40 100644 > --- a/sequencer.c > +++ b/sequencer.c > @@ -1835,8 +1835,13 @@ static int commit_staged_changes(struct replay_opts *opts) > > if (has_unstaged_changes(1)) > return error(_("cannot rebase: You have unstaged changes.")); > - if (!has_uncommitted_changes(0)) > + if (!has_uncommitted_changes(0)) { > + const char *cherry_pick_head = git_path("CHERRY_PICK_HEAD"); > + > + if (file_exists(cherry_pick_head) && unlink(cherry_pick_head)) > + return error(_("could not remove CHERRY_PICK_HEAD")); > return 0; > + } > > if (file_exists(rebase_path_amend())) { > struct strbuf rev = STRBUF_INIT;