[PATCH v6 0/5] Verify GPG signatures when merging and extend %G? pretty string
- From
- Sebastian Götte <jaseg@physik.tu-berlin.de>
- Date
- Mar 30, 2013, 14:14 UTC
- Message-ID
- <5156F356.30600@physik.tu-berlin.de>
- In-Reply-To
- <7vvc89k15t.fsf@alter.siamese.dyndns.org>
> Yuck. That termination condition is horrible.
Ok, I reverted it to your suggestion. In this case, a much more elegant termination condition (foo == 1) is not possible without casts because foo is a pointer.
Show 12 quoted lines
>> + switch(signature_check.check_result){
>> + case 'G':
>> + if (verbosity >= 0)
>> + printf(_("Commit %s has a good GPG signature by %s (key fingerprint %s)\n"), hex, signature_check.signer, signature_check.key);
>> + break;
>> + case 'B':
>> + die(_("Commit %s has a bad GPG signature allegedly by %s (key fingerprint %s)."), hex, signature_check.signer, signature_check.key);
>> + default: /* 'N' */
>> + die(_("Commit %s does not have a good GPG signature. In fact, commit %s does not have a GPG signature at all."), hex, hex);
>> + }
>
> Style.I moved that verbose printf outside the switch(foo).
Show 7 quoted lines
> Also avoid overlong lines, both in the source, but pay extra > attention to what we show the user. For example: > > "Commit %s has a bad GPG signature allegedly by %s (key fingerprint %s)." > > The first %s will expand to 40 places, the other two are likely to > be around 20-30 places.
The first %s is the output of find_unique_abbrev, so though it will be 40 places worst-case, it will usually be *much* shorter (more like 7-8 places).
Show 10 quoted lines
> "Commit %s does not have a good GPG signature. In fact, commit %s does not have a GPG signature at all."
>
> Drop everything from the beginning up to "In fact, ", perhaps:
>
> "Commit '%s' does not have any GPG signature."
>
> is sufficient? You may also want to consider
>
> die(_("Commit '%.*s...' does not have any GPG signature."),
> 8, hex);I shortened these messages and removed the key fingerprint output. Anybody interested can use git log --show-signature to get these.
Sebastian Götte (5):
Move commit GPG signature verification to commit.c
commit.c/GPG signature verification: Also look at the first GPG status
line
merge/pull: verify GPG signatures of commits being merged
merge/pull Check for untrusted good GPG signatures
pretty printing: extend %G? to include 'N' and 'U'Documentation/merge-options.txt | 5 ++ Documentation/pretty-formats.txt | 3 +- builtin/merge.c | 34 +++++++++++++- commit.c | 68 +++++++++++++++++++++++++++ commit.h | 10 ++++ git-pull.sh | 10 +++- gpg-interface.h | 12 +++++ pretty.c | 93 ++++++------------------------------- t/lib-gpg/pubring.gpg | Bin 1164 -> 2359 bytes t/lib-gpg/random_seed | Bin 600 -> 600 bytes t/lib-gpg/secring.gpg | Bin 1237 -> 3734 bytes t/lib-gpg/trustdb.gpg | Bin 1280 -> 1360 bytes t/t7612-merge-verify-signatures.sh | 61 ++++++++++++++++++++++++ 13 files changed, 214 insertions(+), 82 deletions(-) create mode 100755 t/t7612-merge-verify-signatures.sh
-- 1.8.1.5