git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git clone submodules recursive and reference

From
Jens Lehmann <jens.lehmann@web.de>
Date
Apr 20, 2012, 18:59 UTC
Message-ID
<4F91B22A.9000507@web.de>
In-Reply-To
<CAFj+z055ZZc-Am+pEMgjRvHgoxKSRBjnHhABCseC45+8YswKWg@mail.gmail.com>
Am 20.04.2012 17:12, schrieb Samuel Maftoul:
Show 19 quoted lines
> Hello,
> 
> I'm using git clone --reference, it works like a charm !
> 
> Now, I have submodules, so I call git clone with both --recursive and
> --reference, works only for the repo itself, submodules are being
> cloned without the "--reference" option.
> 
> With GIT_TRACE=1 I can see this for the initial repo:
> 
> trace: built-in: git 'clone' '--recursive' '--reference' [...]
> 
> And this for the submodules:
> 
> trace: built-in: git 'clone' '-n' [...]
> 
> for every submodules.
> 
> Is this an intended behavior ?

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.

> 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 ...".

Previous: Samuel MaftoulNext: Samuel Maftoul
Message 2 of 7 in “git clone submodules recursive and reference”
  1. Samuel MaftoulApr 20, 2012
  2. Jens LehmannApr 20, 2012
  3. Samuel MaftoulApr 20, 2012
  4. Jens LehmannApr 21, 2012
  5. Samuel MaftoulApr 23, 2012
  6. Jens LehmannApr 23, 2012
  7. Phil HordJun 29, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.