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

Re: [PATCH 3/3] git-checkout.txt: a note about multiple checkout support for submodules

From
Max Kirillov <max@max630.net>
Date
Jan 6, 2015, 21:30 UTC
Message-ID
<20150106213015.GA32489@wheezy.local>
In-Reply-To
<1420278087-14613-4-git-send-email-pclouds@gmail.com>
On Sat, Jan 03, 2015 at 04:41:27PM +0700, Nguyễn Thái Ngọc Duy wrote:
Show 25 quoted lines
> The goal seems to be using multiple checkouts to reduce disk space.
> But we have not reached an agreement how things should be. There are a
> couple options.
> 
>  - You may want to keep $SUB repos elsewhere (perhaps in a central
>    place) outside $SUPER. This is also true for nested submodules
>    where a superproject may be a submodule of another superproject.
> 
>  - You may want to keep all $SUB repos in $SUPER/modules (or some
>    other place in $SUPER)
> 
>  - We could even push it further and merge all $SUB repos into $SUPER
>    instead of storing them separately. But that would at least require
>    ref namespace enabled.
> 
> On top of that, git-submodule.sh expects $GIT_DIR/config to be
> per-worktree, at least for the submodule.* part. Here I think we have
> two options, either update config.c to also read
> $GIT_DIR/config.worktree (which is per worktree) in addition to
> $GIT_DIR/config (shared) and store worktree-specific vars in the new
> place, or update git-submodule.sh to read/write submodule.* directly
> from $GIT_DIR/config.submodule (per worktree).
> 
> These take time to address properly. Meanwhile, make a note to the
> user that they should not use multiple worktrees in submodule context.
I'd like to describe though how much the glass is full:

If all submodules exist in same paths in all checked-out commits, and there is no special settings, only `submodule.<name>.url` is set, then user can inspect, commit and update the submodule content. Submodules can be either independedntly initalized with `submodule update --init` (being a fully independet clone), or checked-out with `checkout --to` to the submodule worktree.

It is even verified by tests, so does it worth mentioning in some manpage or at least commit message?

-- 
Max
Previous: Mark LevedahlNext: Junio C Hamano
Message 7 of 14 in “nd/multiple-work-trees updates”
  1. 0/3 nd/multiple-work-trees updatesNguyễn Thái Ngọc Duy, Jan 3, 2015
  2. 1/3 checkout: pass whole struct to parse_branchname_arg instead of individual flagsNguyễn Thái Ngọc Duy, Jan 3, 2015
  3. 2/3 checkout: add --ignore-other-wortreesNguyễn Thái Ngọc Duy, Jan 3, 2015
  4. Mark LevedahlJan 5, 2015
  5. 3/3 git-checkout.txt: a note about multiple checkout support for submodulesNguyễn Thái Ngọc Duy, Jan 3, 2015
  6. Mark LevedahlJan 5, 2015
  7. Max KirillovJan 6, 2015
  8. Junio C HamanoFeb 12, 2015
  9. Jens LehmannFeb 12, 2015
  10. Mark LevedahlFeb 13, 2015
  11. Dennis KaarsemakerFeb 13, 2015
  12. Duy NguyenFeb 13, 2015
  13. Ephrim KhongMar 18, 2015
  14. Duy NguyenMar 18, 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.