Re: Git an case-insensitive Mac OS X filesystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]