Thread (11 messages) flat view 11 messages, 2 authors, 2017-01-19

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

From: Stefan Beller <hidden>
Date: 2017-01-10 17:01:37

On Tue, Jan 10, 2017 at 3:25 AM, Nguyễn Thái Ngọc Duy [off-list ref] 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.
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.
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

[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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help