Re: [PATCH v4 18/27] setup.c: support multi-checkout repo setup
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Mar 8, 2014, 01:55 UTC
- Message-ID
- <CACsJy8DyqJ-6SpgUdgM0Q2MQxDKDdE2uotF7wV4cBvCigCO_vw@mail.gmail.com>
- In-Reply-To
- <xmqqlhwoh1p4.fsf@gitster.dls.corp.google.com>
On Thu, Mar 6, 2014 at 2:42 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 16 quoted lines
> Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes: > >> core.worktree:: >> Set the path to the root of the working tree. >> + If GIT_COMMON_DIR environment variable is set, core.worktree >> + is ignored and not used for determining the root of working tree. > > Just thinking aloud to see if I got the full implication of the > above right... > > If we find ourselves in the multi-checkout mode because we saw > .git/commondir on the filesystem, it is clear that the root of the > working tree is the parent directory of that .git directory. > > If the reason we think we are in the multi-checkout mode is not > because of .git/commondir but because $GIT_COMMON_DIR is set,
I tend to think so, .git/commondir is just a convenient way to set $GIT_COMMON_DIR. $GIT_COMMON_DIR is the key. config.txt correctly states so, but the commit message is misleading.
Show 6 quoted lines
> should we assume the same relationship between the root of the working tree > and the GIT_DIR (however we find it) when the environment variable > $GIT_WORK_TREE is not set? Or should that configuration be an error? > With $GIT_DIR set without $GIT_WORK_TREE set, the user is telling us > that the $cwd is the root of the working tree, so perhaps we should > do the same?
It should work exactly like how normal worktree does, so if $GIT_DIR is set and $GIT_WORK_TREE is not, $PWD is the worktree root.
-- Duy