Thread (12 messages) flat view 12 messages, 3 authors, 2016-06-15

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-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.
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 $branch
I 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/  |
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help