Re: bug? in checkout with ambiguous refnames
Hi,
On Wed, Jan 12, 2011 at 12:46:00PM -0500, Jeff King wrote:
Show 23 quoted lines
> On Wed, Jan 12, 2011 at 10:11:30AM +0100, Uwe Kleine-König wrote:
> > > > 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
Show 6 quoted lines
> [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/ |