From: Jonathan Nieder Date: Thu, 21 Oct 2010 03:30:42 GMT Subject: Re: [long] worktree setup cases Message-ID: <20101021033042.GA1891@burratino> In-Reply-To: Nguyen Thai Ngoc Duy wrote: > On Thu, Oct 21, 2010 at 2:07 AM, Jonathan Nieder wrote: >>  - otherwise, if original cwd was under repository, [...] >>   GIT_WORK_TREE defaults to unset. > > What do you mean by "under repository"? If the repo is /tmp/git/.git, > then cwd is at /tmp/git/.git? I meant if the original cwd lies within the repository. Example: repo /tmp/git/.git starting cwd /tmp/git/.git/objects/pack >> D. User-supplied relative paths. >> >>  - path in .git file is relative to containing directory >>  - path in GIT_DIR is relative to original cwd >>  - paths in GIT_WORK_TREE and core.worktree are relative to >>   $GIT_DIR > > I think $GIT_WORK_TREE is relative to original cwd. git.txt is confusing, then. Actually it has some other insights: --work-tree= Set the path to the working tree. The value will not be used in combination with repositories found automatically in a .git directory (i.e. $GIT_DIR is not set). So GIT_WORK_TREE should be discarded or warned about when GIT_DIR is not set. (?) This can also be controlled by setting the GIT_WORK_TREE environment variable and the core.worktree configuration variable. It can be an absolute path or relative path to the directory specified by --git-dir or GIT_DIR. This is where I got the impression about relative paths. Note: If --git-dir or GIT_DIR are specified but none of --work-tree, GIT_WORK_TREE and core.worktree is specified, the current working directory is regarded as the top directory of your working tree. Nice to see this case is documented. > Yes, core.worktree > should be relative to $GIT_DIR. Speaking of which, it is not clear to me that core.worktree should fall under the forbidden case discussed above. If it does, what is the point of making it configurable? > Yes. Thanks for checking. Jonathan