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

From: Eric Brunson <hidden>
Date: 2016-06-15 23:01:04

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help