summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-03-17 22:02:24 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-03-17 22:02:24 (GMT)
commit41d910ea6ce58b2d7322f7bff5877ead33f34b8c (patch)
tree9c9a2ef93a7e42277850aa5571c8ad8f66bb3ba6
parent2d7247af6f8e86c9ada12536d7b59de7b826a084 (diff)
parent237a28173feffc9bdec5aa669aa17fba1ac7c279 (diff)
downloadgit-41d910ea6ce58b2d7322f7bff5877ead33f34b8c.zip
git-41d910ea6ce58b2d7322f7bff5877ead33f34b8c.tar.gz
git-41d910ea6ce58b2d7322f7bff5877ead33f34b8c.tar.bz2
Merge branch 'hd/show-one-mergetag-fix' into maint
"git show" and others gave an object name in raw format in its error output, which has been corrected to give it in hex. * hd/show-one-mergetag-fix: show_one_mergetag: print non-parent in hex form.
-rw-r--r--log-tree.c2
-rwxr-xr-xt/t4202-log.sh20
2 files changed, 21 insertions, 1 deletions
diff --git a/log-tree.c b/log-tree.c
index 151e12f..32d17c9 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -515,7 +515,7 @@ static int show_one_mergetag(struct commit *commit,
"merged tag '%s'\n", tag->tag);
else if ((nth = which_parent(&tag->tagged->oid, commit)) < 0)
strbuf_addf(&verify_message, "tag %s names a non-parent %s\n",
- tag->tag, tag->tagged->oid.hash);
+ tag->tag, oid_to_hex(&tag->tagged->oid));
else
strbuf_addf(&verify_message,
"parent #%d, tagged '%s'\n", nth + 1, tag->tag);
diff --git a/t/t4202-log.sh b/t/t4202-log.sh
index 2c94894..c9c10ca 100755
--- a/t/t4202-log.sh
+++ b/t/t4202-log.sh
@@ -1631,6 +1631,26 @@ test_expect_success GPG 'log --graph --show-signature for merged tag' '
grep "^| | gpg: Good signature" actual
'
+test_expect_success GPG 'log --graph --show-signature for merged tag in shallow clone' '
+ test_when_finished "git reset --hard && git checkout master" &&
+ git checkout -b plain-shallow master &&
+ echo aaa >bar &&
+ git add bar &&
+ git commit -m bar_commit &&
+ git checkout --detach master &&
+ echo bbb >baz &&
+ git add baz &&
+ git commit -m baz_commit &&
+ git tag -s -m signed_tag_msg signed_tag_shallow &&
+ hash=$(git rev-parse HEAD) &&
+ git checkout plain-shallow &&
+ git merge --no-ff -m msg signed_tag_shallow &&
+ git clone --depth 1 --no-local . shallow &&
+ test_when_finished "rm -rf shallow" &&
+ git -C shallow log --graph --show-signature -n1 plain-shallow >actual &&
+ grep "tag signed_tag_shallow names a non-parent $hash" actual
+'
+
test_expect_success GPGSM 'log --graph --show-signature for merged tag x509' '
test_when_finished "git reset --hard && git checkout master" &&
test_config gpg.format x509 &&