mirror of
https://github.com/git/git.git
synced 2024-10-28 12:59:41 +01:00
cherry-pick: do not error on non-merge commits when '-m 1' is specified
When cherry-picking multiple commits, it's impossible to have both merge- and non-merge commits on the same command-line. Not specifying '-m 1' results in cherry-pick refusing to handle merge commits, while specifying '-m 1' fails on non-merge commits. This patch allows '-m 1' for non-merge commits. As mainline is always the only parent for a non-merge commit, it makes little sense to disable it. Signed-off-by: Sergey Organov <sorganov@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c812bd4669
commit
37897bfc27
1 changed files with 7 additions and 3 deletions
10
sequencer.c
10
sequencer.c
|
@ -1766,9 +1766,13 @@ static int do_pick_commit(enum todo_command command, struct commit *commit,
|
||||||
return error(_("commit %s does not have parent %d"),
|
return error(_("commit %s does not have parent %d"),
|
||||||
oid_to_hex(&commit->object.oid), opts->mainline);
|
oid_to_hex(&commit->object.oid), opts->mainline);
|
||||||
parent = p->item;
|
parent = p->item;
|
||||||
} else if (0 < opts->mainline)
|
} else if (1 < opts->mainline)
|
||||||
return error(_("mainline was specified but commit %s is not a merge."),
|
/*
|
||||||
oid_to_hex(&commit->object.oid));
|
* Non-first parent explicitly specified as mainline for
|
||||||
|
* non-merge commit
|
||||||
|
*/
|
||||||
|
return error(_("commit %s does not have parent %d"),
|
||||||
|
oid_to_hex(&commit->object.oid), opts->mainline);
|
||||||
else
|
else
|
||||||
parent = commit->parents->item;
|
parent = commit->parents->item;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue