Johannes Schindelin <johannes.schindelin@xxxxxx> 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 <johannes.schindelin@xxxxxx> > --- > 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;