Skip to content

Commit ea472c1

Browse files
committed
Documentation updates for 'GIT_WORK_TREE without GIT_DIR' historical usecase
Signed-off-by: Junio C Hamano <[email protected]>
1 parent 4868b2e commit ea472c1

File tree

2 files changed

+21
-17
lines changed

2 files changed

+21
-17
lines changed

Documentation/config.txt

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -317,17 +317,26 @@ false), while all other repositories are assumed to be bare (bare
317317
= true).
318318

319319
core.worktree::
320-
Set the path to the working tree. The value will not be
321-
used in combination with repositories found automatically in
322-
a .git directory (i.e. $GIT_DIR is not set).
320+
Set the path to the root of the working tree.
323321
This can be overridden by the GIT_WORK_TREE environment
324-
variable and the '--work-tree' command line option. It can be
325-
an absolute path or relative path to the directory specified by
326-
--git-dir or GIT_DIR.
327-
Note: If --git-dir or GIT_DIR are specified but none of
322+
variable and the '--work-tree' command line option.
323+
The value can an absolute path or relative to the path to
324+
the .git directory, which is either specified by --git-dir
325+
or GIT_DIR, or automatically discovered.
326+
If --git-dir or GIT_DIR is specified but none of
328327
--work-tree, GIT_WORK_TREE and core.worktree is specified,
329-
the current working directory is regarded as the top directory
328+
the current working directory is regarded as the top level
330329
of your working tree.
330+
+
331+
Note that this variable is honored even when set in a configuration
332+
file in a ".git" subdirectory of a directory and its value differs
333+
from the latter directory (e.g. "/path/to/.git/config" has
334+
core.worktree set to "/different/path"), which is most likely a
335+
misconfiguration. Running git commands in the "/path/to" directory will
336+
still use "/different/path" as the root of the work tree and can cause
337+
confusion unless you know what you are doing (e.g. you are creating a
338+
read-only snapshot of the same index to a location different from the
339+
repository's usual working tree).
331340

332341
core.logAllRefUpdates::
333342
Enable the reflog. Updates to a ref <ref> is logged to the file

Documentation/git.txt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -291,17 +291,12 @@ help ...`.
291291
path or relative path to current working directory.
292292

293293
--work-tree=<path>::
294-
Set the path to the working tree. The value will not be
295-
used in combination with repositories found automatically in
296-
a .git directory (i.e. $GIT_DIR is not set).
294+
Set the path to the working tree. It can be an absolute path
295+
or a path relative to the current working directory.
297296
This can also be controlled by setting the GIT_WORK_TREE
298297
environment variable and the core.worktree configuration
299-
variable. It can be an absolute path or relative path to
300-
current working directory.
301-
Note: If --git-dir or GIT_DIR are specified but none of
302-
--work-tree, GIT_WORK_TREE and core.worktree is specified,
303-
the current working directory is regarded as the top directory
304-
of your working tree.
298+
variable (see core.worktree in linkgit:git-config[1] for a
299+
more detailed discussion).
305300

306301
--bare::
307302
Treat the repository as a bare repository. If GIT_DIR

0 commit comments

Comments
 (0)