From: Jens Lehmann Date: Mon, 23 May 2011 18:43:30 GMT Subject: Re: Why does adding an existing repo as a submodule modify .git/config? Message-ID: <4DDAAAD2.1010708@web.de> In-Reply-To: Am 22.05.2011 22:02, schrieb Christopher Wilson: > (I posted this question below on > http://stackoverflow.com/questions/6083357/why-does-adding-an-existing-repo-as-a-submodule-modify-git-config > and was recommended to ask the mailing list) > > If I add a submodule that does not currently exist, no submodule > information is added to .git/config. > > $ mkdir testing > $ cd testing > $ git init > $ git submodule add git@git.server:submodule.git > $ cat .git/config > [core] > repositoryformatversion = 0 > filemode = true > bare = false > logallrefupdates = true > ignorecase = true > > However, if I add a repo that currently exists as a submodule, the url > is added to .git/config: > > $ mkdir testing > $ cd testing > $ git init > $ git clone git@git.server:submodule.git > $ git submodule add git@git.server:submodule.git > $ cat .git/config > [core] > repositoryformatversion = 0 > filemode = true > bare = false > logallrefupdates = true > ignorecase = true > [submodule "submodule"] > url = git@git.server:submodule.git > > I would have assumed that in both cases, git submodule add would have > only modified .gitmodules, and that git submodule init would have > updated the project's .git/config. > > I'm aware this is intentional behavior > (https://github.com/git/git/commit/c2f939170c65173076bbd752bb3c764536b3b09b), > but I don't understand why. > > Why is .git/config modified in the second case but not the first? Can > somebody explain the rational for this behavior? Hmm, this looks like an inconsistency to me too. It would be great to hear about the background, so I added Mark to the CC, maybe he can shed some light.