git-cherry-pick: add allow-empty option
git cherry-pick fails when picking a non-ff commit that is empty. The advice given with the failure is that a git-commit --allow-empty should be issued to explicitly add the empty commit during the cherry pick. This option allows a user to specify before hand that they want to keep the empty commit. This eliminates the need to issue both a cherry pick and a commit operation. Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
e8dde3e5f9
commit
df478b744c
@ -260,8 +260,8 @@ static int do_recursive_merge(struct commit *base, struct commit *next,
|
||||
*/
|
||||
static int run_git_commit(const char *defmsg, struct replay_opts *opts)
|
||||
{
|
||||
/* 6 is max possible length of our args array including NULL */
|
||||
const char *args[6];
|
||||
/* 7 is max possible length of our args array including NULL */
|
||||
const char *args[7];
|
||||
int i = 0;
|
||||
|
||||
args[i++] = "commit";
|
||||
@ -272,6 +272,9 @@ static int run_git_commit(const char *defmsg, struct replay_opts *opts)
|
||||
args[i++] = "-F";
|
||||
args[i++] = defmsg;
|
||||
}
|
||||
if (opts->allow_empty)
|
||||
args[i++] = "--allow-empty";
|
||||
|
||||
args[i] = NULL;
|
||||
|
||||
return run_command_v_opt(args, RUN_GIT_CMD);
|
||||
|
Reference in New Issue
Block a user