Thanks for the patch Samuel
On 12/10/2020 11:34, Johannes Schindelin wrote:
Hi,
On Sun, 11 Oct 2020, brian m. carlson wrote:
On 2020-10-11 at 22:48:04, Samuel Čavoj wrote:
When performing octopus merges with interactive rebase with gpgsign
enabled (either using rebase -S or config commit.gpgsign), the operation
would fail on the merge. 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.
Signed-off-by: Samuel Čavoj <samuel@xxxxxxxxx>
---
It is unclear to me whether I should have based this off of maint or
master, master made more sense to me. I apologize if maint was the
correct one, please tell and I will resubmit.
---
sequencer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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);
Yeah, this seems obviously correct, and it's very similar to what we do
elsewhere in the file.
In run_git_commit() we do
if (opts->gpg_sign)
strvec_pushf(&cmd.args, "-S%s", opts->gpg_sign);
else
strvec_push(&cmd.args, "--no-gpg-sign");
I'm not immediately clear why we pass --no-gpg-sign when opts->gpg_sign
isn't set but it makes me wonder if we should be doing that here as well
This will also handle the case where the option
is empty (because we want to do autodetection of the key to sign)
correctly as well.
ACK
It is unclear to me whether we want to bother introducing a test case for
this; Octopus merges are somewhat rare...
This code path is used whenever the user specifies a merge strategy
other than "recursive" or they pass merge strategy options to any merge
strategy including "recursive" so while octopus merges may be rare the
union of everything other than a plain recursive merge may not be.
Best Wishes
Phillip
Ciao,
Dscho