Subject: Re: [PATCH/RFD 0/3] worktree.* config keys and submodule and multiple worktrees

From: Jens Lehmann <[email-masked]>
Date: Sun, 08 Feb 2015 09:36:43 -0800

Am 08.02.2015 um 05:16 schrieb Nguyễn Thái Ngọc Duy:
> 1/3 is a more complete version of a patch I posted earlier [1]. It
> makes sure that worktree.* config keys are stored in a different place
> than $GIT_DIR/config. This allows us to work around the core.worktree
> issue in multiple worktree setting.
>
> I think 1/3 and 2/3 are fine. 3/3 is probably not. It's more of a
> proof of concept. The tests pass, but there's no migration path for
> existing submodules. Submodules modified by new Git will confuse old
> Git because the old ones do not understand worktree.path (the
> replacement for core.worktree)

Yeah, breaking every submodule cloned with v1.7.9 or newer is not
the way to go. You'd still have to support the old configuration
name for a very long time.

I wonder if it's worth all the hassle to invent new names. Wouldn't
it be much better to just keep a list of per-worktree configuration
value names and use that inside the config code to decide where to
find them for multiple work trees. That would also work easily for
stuff like EOL-config and would push the complexity in the config
machinery and not onto the user.