From: J. Bruce Fields Date: Wed, 07 May 2008 15:09:27 GMT Subject: Re: git-checkout sometimes silently fails Message-ID: <20080507150927.GA11447@fieldses.org> In-Reply-To: <7v4p9bge4q.fsf@gitster.siamese.dyndns.org> On Tue, May 06, 2008 at 05:19:01PM -0700, Junio C Hamano wrote: > Andrew Morton writes: > > > y:/usr/src/git26> git-branch -av | grep '^\*' > > * master 5717922 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb > > y:/usr/src/git26> git-checkout linux-next > > Switched to branch "linux-next" > > y:/usr/src/git26> git-branch -av | grep '^\*' > > * linux-next 5717922 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb > > So your two local branches 'master' and 'linux-next' both point at the > same commit, 5717922. > > "git checkout " is to check out the local branch name. You > expect "git checkout master" and then "git checkout linux-next" to check > out two different commits because linux-next _should_ have been updated to > the latest from sfr repository. But it appears to me that that is not the > case. > > Perhaps "git fetch linux-next" hasn't been run, before "git checkout" was > attempted? Might also be worth checking whether there happens to be a tag (or something else?) named the same as one of the branches? I remember the public -mm git repo, for example, having a tag named "master". Yuch. Grepping through git-for-each-ref output might shed some light. --b.