Fix submitting signed patches

When a commit is signed and the git config contains the setting
log.ShowSignature=True, even the "--oneline" git log output for it will
include multiple lines (the output from gpg verifying the signature),
thus fooling us into assuming that multiple commits are to be submitted.
Override the option to make sure we always get one line per commit only.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: Id4528209f1cd500afd06e2e61eb5689022251118
This commit is contained in:
Dr. Jens Harbott 2022-01-03 16:45:06 +01:00 committed by Jeremy Stanley
parent f1851f732a
commit 053b629472
2 changed files with 12 additions and 2 deletions

View File

@ -984,8 +984,8 @@ def assert_one_change(remote, branch, yes, have_hook):
use_color = "--color=always" use_color = "--color=always"
else: else:
use_color = "--color=never" use_color = "--color=never"
cmd = ("git log %s --decorate --oneline HEAD --not --remotes=%s" % ( cmd = ("git log %s --decorate --oneline --no-show-signature "
use_color, remote)) "HEAD --not --remotes=%s" % (use_color, remote))
(status, output) = run_command_status(cmd) (status, output) = run_command_status(cmd)
if status != 0: if status != 0:
print("Had trouble running %s" % cmd) print("Had trouble running %s" % cmd)

View File

@ -0,0 +1,10 @@
---
fixes:
- |
Git's log.ShowSignature option is now supported. Previously,
setting it would confuse git-review into thinking there were
twice as many changes to push.
upgrade:
- |
Git 2.10.0 or later is required as git-review now needs the
``--no-show-signature`` option for git-log.