Re: [long] worktree setup cases
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Oct 21, 2010, 03:30 UTC
- Message-ID
- <20101021033042.GA1891@burratino>
- In-Reply-To
- <AANLkTimzfxJFz2FRVCJ7b4+icXMxpQGNo0WGm_BXzXNy@mail.gmail.com>
Nguyen Thai Ngoc Duy wrote:
> On Thu, Oct 21, 2010 at 2:07 AM, Jonathan Nieder <jrnieder@gmail.com> 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
Show 8 quoted lines
>> 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=<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