Re: git submodule vs GIT_WORK_TREE
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 26, 2012, 16:07 UTC
- Message-ID
- <7vobo6cazk.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <CAD77+gTVLsEOgWo+WDafzNOYOwSZQ2KkgBuibBXemVmGu_Fzgw@mail.gmail.com>
Richard Hartmann <richih.mailinglist@gmail.com> writes:
Show 6 quoted lines
> As you are most likely aware, `git submodule` allows you to access a > separate git repository in a sub-directory, e.g. $submodule, while > $GIT_WORK_TREE forces git to operate in a specific directory. Combine > the two and the result is less than ideal. git is forced to operate in > $GIT_WORK_TREE while it should operate on $GIT_WORK_TREE/$submodule, > instead.
The end user should not be asked to anything special.
When the user exports GIT_WORK_TREE to tell git that the root of the working tree the user wants to work on resides there (which is needed when the user exports GIT_DIR to tell git that the user wants to work on that repository), that wish obviously applies only to that repository. If git decides to visit the working tree of a different repository (e.g. a checkout of a submodule bound to the project GIT_WORK_TREE points at), even if it is done in response to the user action (e.g. like passing "--recurse-submodules" option), it should adjust GIT_WORK_TREE and GIT_DIR to be appropriate for operations in the submodule repository while doing so. If the more recent "recursive" behaviour forgets to do so, it simply is a bug.