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

Re: [PATCH v5 0/4] Per-worktree config file support

From
Stefan Beller <sbeller@google.com>
Date
Jan 10, 2017, 17:01 UTC
Message-ID
<CAGZ79ka+zkr83tSkg_kJWoN1u3fgu1O3u1-7USEoSM1tj-53vA@mail.gmail.com>
In-Reply-To
<20170110112524.12870-1-pclouds@gmail.com>
On Tue, Jan 10, 2017 at 3:25 AM, Nguyễn Thái Ngọc Duy <pclouds@gmail.com> wrote:
> Let's get this rolling again. To refresh your memory because it's half
> a year since v4 [1], this is about letting each worktree in multi
> worktree setup has their own config settings. The most prominent ones
> are core.worktree, used by submodules, and core.sparseCheckout.
Thanks for getting this rolling again.
Show 5 quoted lines
>
> This time I'm not touching submodules at all. I'm leaving it in the
> good hands of "submodule people". All I'm providing is mechanism. How
> you use it is up to you. So the series benefits sparse checkout users
> only.
As one of the "submodule people", I have no complaints here.
Show 7 quoted lines
>
> Not much has changed from v4, except that the migration to new config
> layout is done automatically _update_ a config variable with "git
> config --worktree".
>
> I think this one is more or less ready. I have an RFC follow-up patch
> about core.bare, but that could be handled separately.

I have read through the series and think the design is sound for worktrees (though I have little knowledge about them).

--- Now even further:

So to build on top of this series, I'd like to make submodules usable with worktrees (i.e. shared object store, only clone/fetch once and all worktrees benefit from it), the big question is how to get the underlying data model right.

Would a submodule go into the superprojects
    .git/worktrees/<worktree-name>/modules/<submodule-name>/
or rather
    .git/modules<submodule-name>/worktrees/<worktree-name>
Or both (one of them being a gitlink file pointing at the other?)

I have not made up my mind, as I haven't laid out all cases that are relevant here.

Thanks, Stefan

Show 27 quoted lines
>
> [1] http://public-inbox.org/git/20160720172419.25473-1-pclouds@gmail.com/
>
> Nguyễn Thái Ngọc Duy (4):
>   config: read per-worktree config files
>   config: --worktree for manipulating per-worktree config file
>   config: automatically migrate to new config layout when --worktree is used
>   t2029: add tests for per-worktree config
>
>  Documentation/config.txt               | 11 ++++-
>  Documentation/git-config.txt           | 26 ++++++++---
>  Documentation/git-worktree.txt         | 37 +++++++++++++++
>  Documentation/gitrepository-layout.txt |  8 ++++
>  builtin/config.c                       | 16 ++++++-
>  cache.h                                |  2 +
>  config.c                               |  7 +++
>  environment.c                          |  1 +
>  setup.c                                |  5 ++-
>  t/t2029-worktree-config.sh (new +x)    | 82 ++++++++++++++++++++++++++++++++++
>  worktree.c                             | 40 +++++++++++++++++
>  worktree.h                             |  6 +++
>  12 files changed, 230 insertions(+), 11 deletions(-)
>  create mode 100755 t/t2029-worktree-config.sh
>
> --
> 2.8.2.524.g6ff3d78
>
Previous: Duy NguyenNext: Duy Nguyen
Message 11 of 13 in “Per-worktree config file support”
  1. 0/4 Per-worktree config file supportNguyễn Thái Ngọc Duy, Jan 10, 2017
  2. 1/4 config: read per-worktree config filesNguyễn Thái Ngọc Duy, Jan 10, 2017
  3. 2/4 config: --worktree for manipulating per-worktree config fileNguyễn Thái Ngọc Duy, Jan 10, 2017
  4. Stefan BellerJan 10, 2017
  5. 3/4 config: automatically migrate to new config layout when --worktree is usedNguyễn Thái Ngọc Duy, Jan 10, 2017
  6. 4/4 t2029: add tests for per-worktree configNguyễn Thái Ngọc Duy, Jan 10, 2017
  7. 5/4 Redefine core.bare in multiple working tree settingNguyễn Thái Ngọc Duy, Jan 10, 2017
  8. Junio C HamanoJan 12, 2017
  9. Duy NguyenJan 19, 2017
  10. Duy NguyenJan 10, 2017
  11. Stefan BellerJan 10, 2017
  12. Duy NguyenJan 19, 2017
  13. Stefan BellerJan 19, 2017

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.