From: Lars Hjemli Date: Fri, 01 Jun 2007 09:17:01 GMT Subject: Re: [PATCH] Let .git/config specify the url for submodules Message-ID: <8c5c35580706010217q3eb9384fx2f6d5edd6e92a6e@mail.gmail.com> In-Reply-To: <200706011008.38063.Josef.Weidendorfer@gmx.de> On 6/1/07, Josef Weidendorfer wrote: > > On 5/28/07, Lars Hjemli wrote: > > 3) 'git-submodule push' runs something like 'cd $path && git push > > origin $branch', where $branch is found in .gitmodules > > (path.$path.branch). > > So if you need superproject related corrections in the submodule, > you always have to do it on branch "path.$path.branch" in the > submodule to get it saved? > > I would assume that pushing the current branch should be enough. > If you want to play with multiple different "corrections" on > different branches in the submodule, you do not want to force > the branch name to a unique one given in .gitmodules. > The current (and planned) implementation of git-submodule detaches HEAD in the submodules, so there will not be a current branch unless the user has done 'cd $path && git-checkout somebranch'. We might take advantage of that fact: * try to exec 'git-symbolic-ref HEAD' * if it fails, push to path.$path.branch * otherwise, push to the ref pointed to by HEAD But this will still loose any changes on _other_ branches (that has not been pushed to origin manually). I'm not sure if/how we can avoid this, except by making $path be a symlink to .git/submodules/$name.git (which has other issues...) -- larsh