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

[RFC] Clone repositories recursive with depth 1

From
Lars Schneider <larsxschneider@gmail.com>
Date
Nov 11, 2015, 14:09 UTC
Message-ID
<DE5B8B46-B185-4258-A1C8-07E46072CD5D@gmail.com>
Hi,
I have a clean build machine and I want to clone my source code to this machine while transferring only the minimal necessary amount of data. Therefore I use this command:
git clone --recursive --depth 1 --single-branch <url>
Apparently this does not clone the submodules with "--depth 1" (using Git 2.4.9). As a workaround I tried:

git clone --depth 1 --single-branch <url> cd <repo-name> git submodule update --init --recursive --depth 1

However, this does not work either as I get: fatal: reference is not a tree: <correct sha1 of the submodule referenced by the main project> Unable to checkout <correct sha1 of the submodule referenced by the main project> in submodule path <submodule path>

How would you clone the repo? Is the behavior above expected? If not, should the "--depth 1" flag be applied recursively to all submodules on a clone --recursive? Has a patch implementing this a chance to get in?

Thanks, Lars

Next: Stefan Beller
Message 1 of 6 in “[RFC] Clone repositories recursive with depth 1”
  1. Lars SchneiderNov 11, 2015
  2. Stefan BellerNov 11, 2015
  3. Stefan BellerNov 11, 2015
  4. Lars SchneiderNov 12, 2015
  5. Stefan BellerNov 12, 2015
  6. Fredrik GustafssonNov 14, 2015

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.