From: Jens Lehmann <Jens.Lehmann@web.de>
To: Michal Sojka <sojkam1@fel.cvut.cz>, git@vger.kernel.org
Cc: Vokac Michal <michal.vokac@comap.cz>
Subject: Re: Submodules and GIT_ALTERNATE_OBJECT_DIRECTORIES
Date: Sat, 04 Oct 2014 20:03:51 +0200 [thread overview]
Message-ID: <54303687.5020006@web.de> (raw)
In-Reply-To: <87tx3l4ban.fsf@steelpick.2x.cz>
Am 03.10.2014 um 13:56 schrieb Michal Sojka:
> On Fri, Oct 03 2014, Jens Lehmann wrote:
>> 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?
>
> That's a good reason, thanks. Fortunately, I found a way how to add
> --reference to the submodule update command issued by the CI tool
> (Bamboo). Instead of calling git directly, the CI tool calls my "git"
> script, which modifies the command line in case of "submodule update"
> and then calls the real git.
Good to hear that! In the CI tool we use at $dayjob (Jenkins) we do
not use the automatic submodule update provided by the Git plugin
but call submodule update in the shell execution before building it.
prev parent reply other threads:[~2014-10-04 18:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-30 13:25 Submodules and GIT_ALTERNATE_OBJECT_DIRECTORIES Michal Sojka
2014-10-03 11:17 ` Jens Lehmann
2014-10-03 11:56 ` Michal Sojka
2014-10-04 18:03 ` Jens Lehmann [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54303687.5020006@web.de \
--to=jens.lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=michal.vokac@comap.cz \
--cc=sojkam1@fel.cvut.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).