On Fri, Nov 4, 2011 at 2:22 PM, Junio C Hamano <junio@xxxxxxxxx> wrote: > > builtin/merge.c was updated to use want_commit() that uses peel_to_type() > to commit to make sure we do not get fed anything funky, and also uses > struct commit_list to pass around list of parents to be recorded, so we > should be OK in this department. I'm pretty sure people have already done "git merge v3.1" kind of things using local tags (where no peeling of FETCH_HEAD has been done). See git log --merges --grep 'Merge.*v[23]\.[0-9]' for a ton of examples of this (and there's something odd going on: we have "Merge commit .." and "Merge tag ..", and I suspect the latter is people editing it to be correct by hand, but I dunno). So this has always worked, methinks. However - exactly beause git apparently makes it do that "Merge commit " message, I suspect we've peeled things too early and too much. We've peeled it so early that once again something thinks it's a commit, not a tag. So if anything, I suspect "git merge" not only peels, but peels too much (or at the wrong point). We should probably peel as late as possible. But it's a small detail. Linus -- 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