Re: URL substitution and config file precedence

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

 



On Mon, Aug 2, 2010 at 15:37, martin f krafft <madduck@xxxxxxxxxxx> wrote:
> Dear Gits,
>
> I expect .git/config to tae precedence over ~/.gitconfig, which in
> turn gets favoured over /etc/gitconfig. This works fine, except for
> the url.….insteadOf settings.
>
> Have a look at the following:
>
>  % grep madduck: .git/config
>    url = madduck:pub/puppet/modules/git
>
>  % grep -B1 nsteadOf /etc/gitconfig ~/.gitconfig
>  /etc/gitconfig-[url "git://git.madduck.net/madduck/"]
>  /etc/gitconfig: insteadOf = madduck:
>  --
>  /home/madduck/.gitconfig-[url "ssh://git.madduck.net/madduck/"]
>  /home/madduck/.gitconfig:       insteadOf = madduck:
>  /home/madduck/.gitconfig:       pushInsteadOf = git://git.madduck.net/madduck/
>
>  % git push -v
>  Pushing to git://git.madduck.net/madduck/pub/puppet/modules/git
>  fatal: The remote end hung up unexpectedly
>
> There seem to be two problems:
>
>  1. the value from /etc/gitconfig seems to be preferred over the
>     one from ~/.gitconfig. I think this is due to the fact that the
>     syntax for URL substitution is a bit whack and the two keys
>     different, so the merge is actually a union-merge, and then the
>     result is probably just the first match (git:// sorts before
>     ssh://).

Right, the git-config backend just merges on a key-value basis. It isn't smart.

> Why was the syntax chosen backwards in this way? Why not have
>
>  [urlsubst "madduck:"]
>      replaceWith = ssh://git.madduck.net/madduck/
>
> or even better:
>
>  [url_regsubst]
>      somefreelychosenname = s|madduck:|ssh://git.madduck.net/madduck/|

I don't know, but it usually helps if you add the person who added the
feature to the CC-list.
--
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]