threads / bug / 46349

Bug: Git checkout case Insensitive branch name compare

Subject: Bug: Git checkout case Insensitive branch name compare

## tl;dr

2 messages between Jul 10, 2017 and Jul 11, 2017.

replies: 1people: 2as markdown or json

kinchit raja· Jul 10, 2017, 20:15 UTC · lore
Bugs Details:
Git checkout case Insensitive branch name compare
Steps to Reproduce:
 I have a remote branch which is as shown below.
Example: feature_12345_write.netCodeForSomeFeature
 I used the git command on git bash and typed
"feature_12345_write.NetCodeForSomeFeature" thinking I am mapping
"feature_12345_write.netCodeForSomeFeature" locally.

So after I got the branch locally, I tried git pull and I see the following "Your configuration specifies to merge with the ref 'refs/heads/feature_12345_write.NetCodeForSomeFeature' from the remote, but no such ref was fetched.

 Although when I did "git log", it shows proper history for
"feature_12345_write.netCodeForSomeFeature" branch.

However when I use the command "git pull --rebase origin branch" it says "fatal: Couldn't find remote ref feature_12345_write.NetCodeForSomeFeature" Because the remote branch has 'n' instead of 'N' in '.net' for branch name.

This is because I used "git checkout branch" instead of "git checkout branch origin/remote branch name" since the local branch name I wanted was the same as the remote branch name.

I don't see this in other branches.

I think the command is not considering case sensitivity of characters in the branch name.

Thanks.
-- 
Best Regards,
Kinchit Raja
Jeff King· Jul 11, 2017, 07:38 UTC · re: kinchit raja · lore

Re: Bug: Git checkout case Insensitive branch name compare

On Mon, Jul 10, 2017 at 01:15:40PM -0700, kinchit raja wrote:
> Bugs Details:
> 
> Git checkout case Insensitive branch name compare

Right, this is known. Branch names (and all ref names) are case sensitive in Git. Storage on a case-insensitive filesystem may lead to confusion if you mix the cases. Sometimes it will work, and sometimes it will create quite confusing results. One suggested path forward is to encode characters in the filesystem. See:

  http://public-inbox.org/git/20170705083611.jgxbp4sqogicfwdb@sigill.intra.peff.net/
and further down-thread:
  http://public-inbox.org/git/xmqqo9sxdwjp.fsf@gitster.mtv.corp.google.com/
for some recent discussion.
-Peff

← back to recent threads