Re: [PATCH v2 11/34] sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 16, 2016, 19:13 UTC
- Message-ID
- <xmqqd1grsn53.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <81ba5f7ddb3a1a66e878b955094b7ae00f2cd781.1481642927.git.johannes.schindelin@gmx.de>
Johannes Schindelin <johannes.schindelin@gmx.de> 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).
Show 25 quoted lines
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
> 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;