threads / discuss / 36612

Unexpected behavior using -c to pass url.<site>.insteadof

Subject: Unexpected behavior using -c to pass url.<site>.insteadof

## tl;dr

One message between May 8, 2014 and May 8, 2014.

replies: 0people: 1as markdown or json

Eric Brunson· May 8, 2014, 22:35 UTC · lore
Is this the expected operation using git -c to override gitconfig settings?
This is default behavior:
     $ git ls-remote git://original.site/origin
     fatal: unable to connect to original.site:

This is what I expected, override with an insteadof url using -c on the command line:

     $ git -c 
url.ssh://replace.site:1234/.insteadof=git://original.site/ ls-remote 
git://original.site/origin
     ssh: Could not resolve hostname replace.site: Name or service not known
Create a URL in ~/.gitconfig:
     $ git config --global url.ssh://other.site/.insteadof 
git://original.site/
     $ cat ~/.gitconfig
     [url "ssh://other.site/"]
         insteadof = git://original.site/
Works as expected, correctly substitutes other.site for original.site:
     $ git ls-remote git://original.site/origin
     ssh: Could not resolve hostname other.site: Name or service not known

The same -c command as above doesn't override the ~/.gitconfig setting, still substitutes other.site:

     $ git -c 
url.ssh://replace.site:1234/.insteadof=git://original.site/ ls-remote 
git://original.site/origin
     ssh: Could not resolve hostname other.site: Name or service not known
I've also reproduced in git 1.9.0 and 2.0.0-rc2.

Am I simply misunderstanding the documentation, it doesn't really discuss what should happen with multivar settings?

Thanks, e.

← back to recent threads