On Thu, Sep 27, 2018 at 8:34 PM Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> wrote: > I see I'm misremembering most of the details here. I thought that if I put: > > [remote "whatever] > url = ... > > Into my ~/.gitconfig that it wouldn't work, but it does, e.g. here in my > ~/g/git: > > $ grep -A1 whatever .git/config > $ > $ grep -A1 whatever ~/.gitconfig > [remote "whatever"] > url = git@xxxxxxxxxx:test/git.git > > But there's still some special casing for .git/config going on, > e.g. here: > > $ git config remote.origin.url > git@xxxxxxxxxx:git/git.git > $ git config remote.whatever.url > git@xxxxxxxxxx:test/git.git > $ git remote get-url origin > git@xxxxxxxxxx:git/git.git > $ git remote get-url whatever > fatal: No such remote 'whatever' > > And: > > $ git remote set-url whatever git@xxxxxxxxxx:test2/git.git > fatal: No such remote 'whatever' > > So there is some special casing of .git/config somewhere. I looked into > this ages ago, and don't remember where that's done. To conclude this thread. Yes some code does know about where the config variable is from and it looks like only "git remote" and "git upload-pack" takes advantage of it [1] [2]. I considered documentation improvement for the git-remote part, but I don't see anywhere I can fit "some remote attributes can be shared from ~/.gitconfig, but a remote can only be added from repo-level config" in. Jeff already documented it well. I found one minor problem there in the documentation, which I will send separately. Thanks again for making me aware of this. [1] e459b073fb (remote rename: more carefully determine whether a remote is configured - 2017-01-19) [2] 20b20a22f8 (upload-pack: provide a hook for running pack-objects - 2016-05-18) -- Duy