From: Johan Herland Date: Fri, 21 Nov 2008 15:27:10 GMT Subject: Re: git-status for submodules Message-ID: <200811211627.10637.johan@herland.net> In-Reply-To: <7vabbtqga8.fsf@gitster.siamese.dyndns.org> On Friday 21 November 2008, Junio C Hamano wrote: > Chris Frey writes: > > I'm using git 1.6.0.4 and trying to make submodules work for me. > > The init/add/update steps are a bit tedious, but workable. The > > problem I have is when I make a change in a submodule, then > > git-status does not show the change. > > My understanding is that this is exactly by design. The supermodule > tracks which commit in the subproject is bound to the tree location. > > A mere act of changing something in the subproject directory is just > a single, incomplete step to create a new commit in the subproject > and will > > not be seen by the superproject's status. Instead of this workflow: > > cd super > > vi newsuper > > vi existing_file > > cd sub > > vi newsub > > cd .. > > git status > > the submodule support is geared toward supporting this layout: > > - "super" has a subproject X at "sub" > > - When you do a real work on the subproject X, you do so as > if there is no supermodule. IOW, subproject X has to be able to > stand on its own. Chris' workflow is farily easily supported by running git-status within each submodule, like this: git submodule foreach "git status; true" If the above is too cumbersome to type, one can easily wrap an alias around it: git config alias.substatus 'submodule foreach "git status; true"' git substatus Have fun! :) ...Johan -- Johan Herland, www.herland.net