summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-04-04 17:33:53 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-04-04 17:33:53 (GMT)
commite640551773c9730a47779dfc93155feb092c8e3c (patch)
tree798c74407f1e4247dcce2a59c6fad7dd0bc5b171 /Documentation
parent8030e44215fe8f34edd57d711a35f2f0f97a0423 (diff)
downloadgit-e640551773c9730a47779dfc93155feb092c8e3c.zip
git-e640551773c9730a47779dfc93155feb092c8e3c.tar.gz
git-e640551773c9730a47779dfc93155feb092c8e3c.tar.bz2
GIT_ONE_FILESYSTEM: flip the default to stop at filesystem boundaries
Regarding the new environment variable, Linus Torvalds <torvalds@linux-foundation.org> writes on Tue, 30 Mar 2010 in <alpine.LFD.2.00.1003301537150.3707@i5.linux-foundation.org>: I suspect that it is _very_ unusual to have a source repo that crosses multiple filesystems, and the original reason for this patch-series seems to me to be likely to be more common than that multi-fs case. So having the logic go the other way would seem to match the common case, no? The "crossing filesystem boundary" condition is checked by comparing st_dev field in the result from stat(2). This is slightly worrysome if non-POSIX ports return different values in the field even for directories in the same work tree extracted to the same "filesystem". Erik Faye-Lund confirms that in the msysgit port st_dev is 0, so this should be safe, as "even Windows is safe" ;-) This will affect those who use /.git to cram /etc and /home/me in the same repostiory, /home is mounted from non-root filesystem, and a git operation is done from inside /home/me/src. But that is such a corner case we don't want to give preference over helping people who will benefit from having this default so that they do not have to suffer from slow automounters. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/git.txt12
1 files changed, 8 insertions, 4 deletions
diff --git a/Documentation/git.txt b/Documentation/git.txt
index bf1b45e..aa62083 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -531,10 +531,14 @@ git so take care if using Cogito etc.
(Useful for excluding slow-loading network directories.)
'GIT_ONE_FILESYSTEM'::
- If set to a true value ("true" or a non-zero integer), stop at
- filesystem boundaries when looking for a repository directory.
- Like 'GIT_CEILING_DIRECTORIES', it will not affect an explicit
- respository directory set via 'GIT_DIR' or on the command line.
+ When run in a directory that does not have ".git" repository
+ directory, git tries to find such a directory in the parent
+ directories to find the top of the working tree, but by default it
+ does not cross filesystem boundaries. This environment variable
+ can be set to false value ("false" or zero) to tell git not to
+ stop at filesystem boundaries. Like 'GIT_CEILING_DIRECTORIES',
+ this will not affect an explicit respository directory set via
+ 'GIT_DIR' or on the command line.
git Commits
~~~~~~~~~~~