Subject: Re: [PATCH v4 18/27] setup.c: support multi-checkout repo setup

From: Junio C Hamano <[email-masked]>
Date: Wed, 05 Mar 2014 11:42:31 -0800

Nguyễn Thái Ngọc Duy  <[email-masked]> 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, 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?