Michael J Gruber <[email protected]> writes:
> Currently, cherry-pick allows tp pick single commits to an empty HEAD
> but not multiple commits.
>
> Allow the multiple commit case, too.
>
> Reported-by: Fabrizio Cucci <[email protected]>
> Signed-off-by: Michael J Gruber <[email protected]>
> ---
> sequencer.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
Thanks; we'd probably want a few tests in somewhere near 3503 or
3505.
> diff --git a/sequencer.c b/sequencer.c
> index 4687ad4..c6362d6 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -888,6 +888,10 @@ static int sequencer_rollback(struct replay_opts *opts)
> git_path_head_file());
> goto fail;
> }
> + if (is_null_sha1(sha1)) {
> + error(_("cannot abort from a branch yet to be born"));
> + goto fail;
> + }
Is this error-fail desirable? How do we get here? Did a user start
a cherry-pick on an unborn branch and then told us to abort that?
Shouldn't we be taking the user back to the "orphan" state if that
is the case?
> if (reset_for_rollback(sha1))
> goto fail;
> remove_sequencer_state();
> @@ -1086,11 +1090,8 @@ int sequencer_pick_revisions(struct replay_opts *opts)
> walk_revs_populate_todo(&todo_list, opts);
> if (create_seq_dir() < 0)
> return -1;
> - if (get_sha1("HEAD", sha1)) {
> - if (opts->action == REPLAY_REVERT)
> - return error(_("Can't revert as initial commit"));
> - return error(_("Can't cherry-pick into empty head"));
> - }
> + if (get_sha1("HEAD", sha1) && (opts->action == REPLAY_REVERT))
> + return error(_("Can't revert as initial commit"));
Not a new issue, but I cannot quite fathom what this error message
wants to say. "Can't revert an initial commit"?
> save_head(sha1_to_hex(sha1));
> save_opts(opts);
> return pick_commits(todo_list, opts);
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html