Junio C Hamano <gitster@xxxxxxxxx> writes: > We might want to reword "parent #2", by the way. The code was designed to > apply even to an Octopus, but I suspect 99.9% of the mergetag will be on > the second parent of a two-parent commit. You will never see "parent #1" > (i.e. direct parent you pulled into) unless you hand-craft the merge > commit object, and you are not likely to create an Octopus that pulls > multiple signed tags into one commit. ... and this is a fix-up patch on top of the series. With this, the output becomes like this: commit 2240a7bb479c38434bd636da9ce6afbd3f49447a merged tag 'tytso-for-linus-20111214' gpg: Signature made Wed 14 Dec 2011 11:15:13 AM PST using RSA key ID C11804F0 gpg: Good signature from "Theodore Ts'o <tytso@xxxxxxx>" gpg: aka "Theodore Ts'o <tytso@xxxxxxxxxx>" gpg: aka "Theodore Ts'o <tytso@xxxxxxxxxx>" Merge: 30aaca4 5a0dc73 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Dec 14 18:25:58 2011 -0800 Merge tag 'tytso-for-linus-20111214' of git://git.kernel.org/pub/scm/l... * tag 'tytso-for-linus-20111214' of git://git.kernel.org/pub/scm/linux... ext4: handle EOF correctly in ext4_bio_write_page() ... log-tree.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/log-tree.c b/log-tree.c index b87dd53..37510da 100644 --- a/log-tree.c +++ b/log-tree.c @@ -456,6 +456,13 @@ static int which_parent(const unsigned char *sha1, const struct commit *commit) return -1; } +static int is_common_merge(const struct commit *commit) +{ + return (commit->parents + && commit->parents->next + && !commit->parents->next->next); +} + static void show_one_mergetag(struct rev_info *opt, struct commit_extra_header *extra, struct commit *commit) @@ -474,6 +481,11 @@ static void show_one_mergetag(struct rev_info *opt, strbuf_init(&verify_message, 256); if (parse_tag_buffer(tag, extra->value, extra->len)) strbuf_addstr(&verify_message, "malformed mergetag\n"); + else if (is_common_merge(commit) && + !hashcmp(tag->tagged->sha1, + commit->parents->next->item->object.sha1)) + strbuf_addf(&verify_message, + "merged tag '%s'\n", tag->tag); else if ((nth = which_parent(tag->tagged->sha1, commit)) < 0) strbuf_addf(&verify_message, "tag %s names a non-parent %s\n", tag->tag, tag->tagged->sha1); -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html