Subject: Re: Submodules and GIT_ALTERNATE_OBJECT_DIRECTORIES

From: Jens Lehmann <[email-masked]>
Date: Fri, 03 Oct 2014 13:17:09 +0200

Am 30.09.2014 um 15:25 schrieb Michal Sojka:
> I'd like to shorten the time needed by our continuous integration (CI)
> tool to clone the source repositories. Currently the full clone takes
> about 10 minutes (even from local server). Our main repository has
> several submodules so the CI tool runs "git submodule update --init". My
> idea was to use GIT_ALTERNATE_OBJECT_DIRECTORIES to cache objects from
> several submodule repositories locally. However, this does not work
> because GIT_ALTERNATE_OBJECT_DIRECTORIES is considered local to the
> super-project and is not propagated to the "git clone" for submodules
> (git-submodule.sh calls clear_local_git_env).
 >
> My question is why is GIT_ALTERNATE_OBJECT_DIRECTORIES considered local
> to the repository? If I could modify the command-line I would use the
> "git submodule update" with the --reference option, which is propagated
> to clones of all submodules. Letting GIT_ALTERNATE_OBJECT_DIRECTORIES
> propagate to the submodules should have the same effect as --reference
> option. So why it is not propagated?

Because then it would /always/ propagate? So while that would have the
same effect as using the --reference option, not using the --reference
option would behave differently, no?