Re: bug? in checkout with ambiguous refnames
From: Uwe Kleine-König <hidden>
Date: 2016-06-15 22:50:24
Hi, On Wed, Jan 12, 2011 at 12:46:00PM -0500, Jeff King wrote:
On Wed, Jan 12, 2011 at 10:11:30AM +0100, Uwe Kleine-König wrote:quoted
quoted
quoted
So working copy and cache are at refs/tags/sgu/mxs-amba-uart, HEAD points to refs/heads/sgu/mxs-amba-uartYeah, 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.I wonder how I can resolve the ambiguity when calling checkout. (Well apart from changing either branch name or tag name) git checkout refs/heads/sgu/mxs-amba-uart results in a detached HEAD.You can't disambiguate to the branch without going to a detached HEAD in the current code; it's just broken[1]. With the patch here: http://article.gmane.org/gmane.comp.version-control.git/164986 it will disambiguate to the branch by default, and if you want the tag, you can do: git checkout tags/sgu/mxs-amba-uart
that's fine.
[1]: You can't do it with checkout, that is. You can still hack around
it with:
branch=refs/heads/sgu/mxs-amba-uart
git read-tree -m -u $branch &&
git symbolic-ref HEAD $branchI did git checkout refs/heads/sgu/mxs-amba-uart git symbolic-ref HEAD refs/heads/sgu/mxs-amba-uart :-) Uwe
which is a simplified version of what checkout is doing.-- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ |