Re: [long] worktree setup cases
From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:49:50
Nguyen Thai Ngoc Duy wrote:
On Thu, Oct 21, 2010 at 2:07 AM, Jonathan Nieder [off-list ref] wrote:
quoted
- otherwise, if original cwd was under repository,
[...]
quoted
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
quoted
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_DIRI think $GIT_WORK_TREE is relative to original cwd.
git.txt is confusing, then. Actually it has some other insights: --work-tree=<path> 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