git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jens Lehmann <Jens.Lehmann@web.de>
To: Samuel Maftoul <samuel.maftoul@gmail.com>
Cc: git <git@vger.kernel.org>
Subject: Re: git clone submodules recursive and reference
Date: Sat, 21 Apr 2012 15:45:48 +0200	[thread overview]
Message-ID: <4F92BA0C.4030009@web.de> (raw)
In-Reply-To: <CAFj+z04A5v7Cz=Wbqn_TBJQG88rPSfrs4T1=22x1N+v77ZXgYA@mail.gmail.com>

Am 20.04.2012 21:26, schrieb Samuel Maftoul:
>> Hmm, to me it looks like passing the --reference option to the clone
>> run in the submodules doesn't make much sense, as that would make
>> all submodules and the superproject use the same alternates. And as
>> far as I know sharing objects between different repositories is not
>> supported.

I take that back, I was thinking about the idea to store the objects
of all submodules in the superproject's object store and then access
them via alternates which was discussed some time ago. That won't
work out of the box because the submodule commits would be dangling
in the superprojects repo.

> I'm sharing objects between repositories by creating a bare
> repository, adding the remotes for the repositories and fetch them in
> this bare repo.

This sounds like a cool way to reduce the disk footprint of the
repos on our Jenkins server.

> So for me, it makes sense to pass the "--reference" to the submodules
> clone, if submodules remotes are added to this reference bare repo and
> objects are already fetched (and I'm in this case, as I use a lot of
> different projects that shares the same set of submodules).

How do you fetch then, do you fetch into the referenced repo first
and then do a fetch in the clones afterwards to just update the refs
there? Or is the bare repo just a starting point for the initial
clone?

>>> How can I force the clones for submodules to be executed with the
>>> --reference option ?
>>
>> You'd have to use "git clone" without the --recursive option and
>> then do a "git submodule update --init --reference ...".
> 
> Yes, this should make it, but I would have been more happy with a
> single command !

Hmm, me thinks we'd have to add a new option for that, and I'm not
sure it is worth it.

  reply	other threads:[~2012-04-21 13:45 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-20 15:12 git clone submodules recursive and reference Samuel Maftoul
2012-04-20 18:59 ` Jens Lehmann
2012-04-20 19:26   ` Samuel Maftoul
2012-04-21 13:45     ` Jens Lehmann [this message]
2012-04-23  8:06       ` Samuel Maftoul
2012-04-23 21:20         ` Jens Lehmann
2012-06-29 20:19   ` Phil Hord

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=4F92BA0C.4030009@web.de \
    --to=jens.lehmann@web.de \
    --cc=git@vger.kernel.org \
    --cc=samuel.maftoul@gmail.com \
    /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).