Jeff King <peff@xxxxxxxx> writes: > On Mon, Apr 01, 2013 at 12:57:17PM -0700, Junio C Hamano wrote: > >> The user could have said "git merge $(git rev-parse v1.0.0)"; we >> shouldn't mark it as "Merge commit '15999998fb...'" as the merge >> name, even though such an invocation might be crazy. >> >> We could even read the "tag " header from the tag object and replace >> the object name the user gave us, but let's not lose the information >> by doing so, at least not yet. >> >> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> >> --- >> builtin/merge.c | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) >> >> diff --git a/builtin/merge.c b/builtin/merge.c >> index 0ec8f0d..990e90c 100644 >> --- a/builtin/merge.c >> +++ b/builtin/merge.c >> @@ -516,6 +516,19 @@ static void merge_name(const char *remote, struct strbuf *msg) >> strbuf_release(&line); >> goto cleanup; >> } >> + >> + if (remote_head->util) { >> + struct merge_remote_desc *desc; >> + desc = merge_remote_util(remote_head); >> + if (desc && desc->obj && desc->obj->type == OBJ_TAG) { >> + strbuf_addf(msg, "%s\t\t%s '%s'\n", >> + sha1_to_hex(desc->obj->sha1), >> + typename(desc->obj->type), >> + remote); >> + goto cleanup; >> + } >> + } >> + >> strbuf_addf(msg, "%s\t\tcommit '%s'\n", >> sha1_to_hex(remote_head->object.sha1), remote); > > I guess there is no other object type besides OBJ_TAG and OBJ_COMMIT > that would yield something we could merge, but it feels weird that you > check only for OBJ_TAG here, and otherwise still say "commit". Would the > intent be more clear if it just said: > > if (desc && desc->obj && desc->obj->type != OBJ_COMMIT) { > ... > > ? I suspect not. The point of the added code is that it knows we want to special case merging a tag object, and it wants to keep any other case behaving the same as before. -- 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