Subject: Corruption of branch?

From: Thomas Nyberg <[email-masked]>
Date: Mon, 14 Dec 2015 12:40:33 -0500

Hello,

I have a repository (which I unfortunately cannot provide access to) 
which is having some odd things happening with one (and only one) of its 
branches. This workflow repeats the issue (here `bad_branch` is one of 
the remotes branches; i.e. `origin/bad_branch`):

(1) clone the repository
(2) git checkout `bad_branch`

Basically nothing happens. Nothing is printed and I stay on the master 
branch. I also checked $? and there is no error code that is set. If I 
choose any of other branches, it correctly creates a local branch, sets 
it to track the remote and then switches to the local branch.

It seems like there could be some sort of weird bug in the checkout or 
possibly somehow some corruption in the actual object tree. From my 
vantage point, however, the data appears totally fine. For example, in 
`.git/packed-refs` everything appears normal and if I explicitly 
checkout the commit IDs directly (i.e. just copy the commit 
corresponding to refs/remotes/origin/bad_branch and checkout $commit) it 
checks out fine. If I do this with the bad_branch I get a detached HEAD 
as expected and git log lists the commits that it should.

This seems a bit odd to me. There's certainly some sort of error 
somewhere, but it's passing silently. I'm not really sure how to debug 
this and it's too bad I can't actually link the actual repository. I 
presume if I have the time I could try compiling git from source and 
seeing if it still shows up. I tested it on the following two versions 
of git get the same error:

* 1.9.1 (installed as a package from Linux Mint 17.2 Rafaela)
* 2.1.4 (installed as a package from Debian Jessie 8.2)

Also I should note that the original repository is hosted on Github.

Thanks for any help. Hopefully the fact that I can't provide enough 
information for others to reproduce the issue isn't too large a bother...

Cheers,
Thomas Nyberg