summaryrefslogtreecommitdiff
path: root/log-tree.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-07-16 11:32:36 -0700
committerJunio C Hamano <gitster@pobox.com>2014-07-16 11:32:36 -0700
commitefbef3f6e3a8c32f4f8bc78667733228ed76a713 (patch)
tree6d89e6e9ab46bf50c174a026be71e8233cd131f9 /log-tree.c
parentc9831bb09d090011a51d2645ab638cf956924513 (diff)
parent42c55ce49eb3c8741f62a0abdfb38182d461126c (diff)
downloadgit-efbef3f6e3a8c32f4f8bc78667733228ed76a713.tar.gz
Merge branch 'mg/fix-log-mergetag-color'
* mg/fix-log-mergetag-color: log: correctly identify mergetag signature verification status
Diffstat (limited to 'log-tree.c')
-rw-r--r--log-tree.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/log-tree.c b/log-tree.c
index 10e68442b3..c13184aafb 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -446,16 +446,17 @@ static void show_one_mergetag(struct rev_info *opt,
payload_size = parse_signature(extra->value, extra->len);
status = -1;
- if (extra->len > payload_size)
- if (verify_signed_buffer(extra->value, payload_size,
- extra->value + payload_size,
- extra->len - payload_size,
- &verify_message, NULL)) {
- if (verify_message.len <= gpg_message_offset)
- strbuf_addstr(&verify_message, "No signature\n");
- else
- status = 0;
- }
+ if (extra->len > payload_size) {
+ /* could have a good signature */
+ if (!verify_signed_buffer(extra->value, payload_size,
+ extra->value + payload_size,
+ extra->len - payload_size,
+ &verify_message, NULL))
+ status = 0; /* good */
+ else if (verify_message.len <= gpg_message_offset)
+ strbuf_addstr(&verify_message, "No signature\n");
+ /* otherwise we couldn't verify, which is shown as bad */
+ }
show_sig_lines(opt, status, verify_message.buf);
strbuf_release(&verify_message);