Roger Pau Monné <roger.pau@xxxxxxxxxxxxx> writes: > Hello, > > I'm using git for all my projects, and I usually work under Mac OS X > with the default filesystem (that's case-insensitive, but > case-preserving). I'm currently working on a project that has several > branches, and two of them are called origin/DHCPCD and origin/dhcpcd > respectively, that's unfortunate, but I cannot do anything about it. > This completely breaks the git repository, because > .git/refs/remotes/origin/DHCPD and .git/refs/remotes/origin/dhcpd are > actually the same file, so when I try to update my repository > performing a git pull I get the following error: > > error: Ref refs/remotes/origin/dhcpcd is at > 6b371783de2def2d6e3ec2680ba731f7086067ee but expected > 79f701ce599a27043eed8343f76406014963278a > > So I was wondering if anyone has stumbled upon this issue, and what's > the best approach to fix it. If "several" is manageably small, you can configure your refspecs to rename them, e.g. [remote "origin"] url = ... fetch = +refs/heads/master:refs/remotes/origin/master fetch = +refs/heads/dhcpcd:refs/remotes/origin/dhcpcd fetch = +refs/heads/DHCPCD:refs/remotes/origin/dhcpcd-u which tells $ git fetch origin to use your remote tracking branch origin/dhcpcd-u to copy from their DHCPCD. Then you can work on it the usual way. $ git checkout -b dhcpcd-u origin/dhcpcd-u $ work work work For pushing, you can rename it back in a similar way. $ git push origin dhcpcd-u:DHCPCD which is a short-hand for $ git push origin refs/heads/dhcpcd-u:refs/heads/DHCPCD -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html