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 >