Subject: odd behavior with concurrent fetch/checkout

From: "J. Bruce Fields" <[email-masked]>
Date: Mon, 22 Oct 2007 12:51:25 -0400

Just now I checked out a topic branch in my working repo:

	git checkout server-xprt-switch

and while waiting for it to complete (I just started work and caches
were all cold), I ran a

	git fetch origin

in another window to update from Linus.  The git fetch gave a warning:

	remote: Generating pack...
	remote: Counting objects: 7550
	remote: Done counting 12885 objects.
	remote: Result has 8400 objects.
	remote: Deltifying 8400 objects...
	remote:  100% (8400/8400) done
	Indexing 8400 objects...
	remote: Total 8400 (delta 7257), reused 5696 (delta 4586)
	 100% (8400/8400) done
	Resolving 7257 deltas...
	 100% (7257/7257) done
	* refs/remotes/origin/master: fast forward to branch 'master' of
	* git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
	  old..new: d85714d..55b70a0
	Cannot fetch into the current branch.

Why the warning?  Also, afterwards I was left with server-xprt-switch
pointing to the tip of the branch I'd just switched from (another
miscellaneous topic branch).  The working directory was in some
completely different state--thanks to a quick reset --hard I don't know
what it was.  Also, in the reflog for the checked-out branch:

	commit bac1e7977eb4781e62cee7f1c7c3d13a9e5d8d74
	Reflog: server-xprt-switch@{0} (J. Bruce Fields <[email-masked]>)
	Reflog message: fetch origin: Undoing incorrectly fetched HEAD.
	Author: J. Bruce Fields <[email-masked]>
	Date:   Mon Oct 22 12:32:37 2007 -0400
	...

Why was a fetch into the remote fooling with HEAD or anything under
refs/heads/?

--b.