diff options
author | Samuel Čavoj <samuel@cavoj.net> | 2020-10-18 01:15:55 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-10-18 13:08:31 -0700 |
commit | ae03c97ac0e36a33183562464f9506c8b3a73060 (patch) | |
tree | bb3dd39cac6bf83feedbe2f29a13e06de8409229 /sequencer.c | |
parent | Git 2.29-rc1 (diff) | |
download | tgif-ae03c97ac0e36a33183562464f9506c8b3a73060.tar.xz |
sequencer: fix gpg option passed to merge subcommand
When performing a rebase with --rebase-merges using either a custom
strategy specified with -s or an octopus merge, and at the same time
having gpgsign enabled (either rebase -S or config commit.gpgsign), the
operation would fail on making the merge commit. Instead of "-S%s" with
the key id substituted, only the bare key id would get passed to the
underlying merge command, which tried to interpret it as a ref.
Fix the issue and add test cases as suggested by Johannes Schindelin and
Junio C Hamano.
Signed-off-by: Samuel Čavoj <samuel@cavoj.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sequencer.c')
-rw-r--r-- | sequencer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sequencer.c b/sequencer.c index 00acb12496..88ccff4838 100644 --- a/sequencer.c +++ b/sequencer.c @@ -3677,7 +3677,7 @@ static int do_merge(struct repository *r, strvec_push(&cmd.args, "-F"); strvec_push(&cmd.args, git_path_merge_msg(r)); if (opts->gpg_sign) - strvec_push(&cmd.args, opts->gpg_sign); + strvec_pushf(&cmd.args, "-S%s", opts->gpg_sign); /* Add the tips to be merged */ for (j = to_merge; j; j = j->next) |