# Re: url.\<base\>.insteadOf vs. submodules

- From: Toolforger \<hidden\>
- Date: 2017-02-20 20:31:49 
- List: git
- Page: https://ratatoskr.run/git/2017/02/7708355
- Thread: https://ratatoskr.run/git/2017/02/7708280/t.md

```text
On 20.02.2017 10:01, Jeff King wrote:
> On Sun, Feb 19, 2017 at 10:12:28PM +0100, Toolforger wrote:
>
>> I am trying to make url.<base>.insteadOf work on the URLs inside
>> .gitmodules, but it won't work (applying it to the repo itself works fine,
>> to the config setting seems to be fine).
>
> The submodule operations happen in their own processes, and do not look
> at the config of the parent repo.

Ah, then we have a docbug.
git help config has this to say:

url.<base>.insteadOf
    Any URL that starts with this value will be rewritten to start,
    instead, with <base>.

The "Any" here is wrong, it would be "any except submodule" (possibly other exceptions).

> Are you setting the config in
> .git/config of the super-project?

Exactly.
My thinking was that since the submodule URLs are specified in the super project's .gitmodules, that setting should apply.

> I don't know if there plans to make that work,

It would certainly help me out, though I guess it's going to be too late for my current project :-)

> but one workaround is to set the config in ~/.gitconfig.

No can do - that's under version control.
My personal setup does not belong there I think ;-)

I am currently trying to write a shell script that
- does git submodule init
- pulls submodule configuration out of git config -l
- configures each submodule with insteadOf
It fits with my workflow because setting up the repositories is going to be done via script anyway.
I'm neither a shell nor a git expert, so any advice still appreciated.

Regards,
Jo
```
