Re: bug? in checkout with ambiguous refnames
From: Jeff King <hidden>
Date: 2016-06-15 22:50:21
On Fri, Jan 07, 2011 at 11:46:50AM +0100, Uwe Kleine-König wrote:
ukl@octopus:~/gsrc/linux-2.6$ git diff; git diff --cached ukl@octopus:~/gsrc/linux-2.6$ git checkout sgu/mxs-amba-uart warning: refname 'sgu/mxs-amba-uart' is ambiguous. Previous HEAD position was c13fb17... Merge commit '65e29a85a419f9a161ab0f09f9d69924e36d940e' into HEAD Switched to branch 'sgu/mxs-amba-uart' OK, it might be a bad idea to have this ambiguity, still ... [...] So working copy and cache are at refs/tags/sgu/mxs-amba-uart, HEAD points to refs/heads/sgu/mxs-amba-uart
Yeah, we generally resolve ambiguities in favor of the tag (and that warning comes from deep within get_sha1_basic). So the real bug here is that it still said "Switched to branch", which is totally wrong. That being said, it probably would make more sense for "git checkout" to prefer branches to tags. That's probably going to take a lot more surgery, and we're in -rc right now. So I think the best thing to do is to fix the broken message and add some tests, and then if somebody wants to revisit it with a larger patch, they can do so on top. I'll work on the first part and post a patch in a few minutes. -Peff