On 28/09/16 15:24, Michael J Gruber wrote: > According to gpg2's doc/DETAILS: > "For each signature only one of the codes GOODSIG, BADSIG, EXPSIG, > EXPKEYSIG, REVKEYSIG or ERRSIG will be emitted." > > gpg1 ("classic") behaves the same (although doc/DETAILS > differs). > > Currently, we parse gpg's status output for GOODSIG, BADSIG and trust > information and translate that into status codes G, B, U, N for the %G? > format specifier. > > git-verify-* returns success in the GOODSIG case only. This is somewhat in > disagreement with gpg, which considers the first 5 of the 6 above as VALIDSIG, > but we err on the very safe side. > > Introduce additional status codes E, X, R for ERRSIG, EXP*SIG, REVKEYSIG > so that a user of %G? gets more information about the absence of a 'G' > on first glance. > > Requested-by: Alex <agrambot@xxxxxxxxx> > Signed-off-by: Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> > --- > Changes in v2: > > - Use GNUPGHOME="$HOME/gnupg-home-not-used" just like in other tests (lib). > - Do not parse for signer UID in the ERRSIG case (and test that we do not). > - Retreat "rather" addition from the doc: good/valid are terms that we use > differently from gpg anyways. > > Documentation/pretty-formats.txt | 9 +++++++-- > gpg-interface.c | 13 ++++++++++--- > pretty.c | 3 +++ > t/t7510-signed-commit.sh | 12 +++++++++++- > 4 files changed, 31 insertions(+), 6 deletions(-) > > diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt > index a942d57..c28ff2b 100644 > --- a/Documentation/pretty-formats.txt > +++ b/Documentation/pretty-formats.txt > @@ -143,8 +143,13 @@ ifndef::git-rev-list[] > - '%N': commit notes > endif::git-rev-list[] > - '%GG': raw verification message from GPG for a signed commit > -- '%G?': show "G" for a good (valid) signature, "B" for a bad signature, > - "U" for a good signature with unknown validity and "N" for no signature > +- '%G?': show "G" for a good (valid) signature, > + "B" for a bad signature, > + "U" for a good signature with unknown validity, > + "X" for a good expired signature, or good signature made by an expired key, Hmm, this looks odd. Would the following: "X" for a good signature made with an expired key, mean something different? ATB, Ramsay Jones