Code

Rename ONE_FILESYSTEM to DISCOVERY_ACROSS_FILESYSTEM
authorJunio C Hamano <gitster@pobox.com>
Sun, 4 Apr 2010 21:49:31 +0000 (14:49 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 4 Apr 2010 22:55:29 +0000 (15:55 -0700)
If a missing ONE_FILESYSTEM defaults to true, the only users who set this
variable set it to false to tell git not to limit the discovery to one
filesystem; there are too many negations in one sentence to make a simple
panda brain dizzy.

Use the variable GIT_DISCOVERY_ACROSS_FILESYSTEM that changes the
behaviour from the default "limit to one filesystem" to "cross the
boundary as I ask you to"; makes the semantics much more straight
forward.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git.txt
setup.c

index aa620832092590b7c29b47c53d85dd3a3fdb640e..991aaec5992801b68fd6224435d378e0530201a5 100644 (file)
@@ -530,15 +530,15 @@ git so take care if using Cogito etc.
        a GIT_DIR set on the command line or in the environment.
        (Useful for excluding slow-loading network directories.)
 
-'GIT_ONE_FILESYSTEM'::
+'GIT_DISCOVERY_ACROSS_FILESYSTEM'::
        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.
+       can be set to true to tell git not to stop at filesystem
+       boundaries.  Like 'GIT_CEILING_DIRECTORIES', this will not affect
+       an explicit repository directory set via 'GIT_DIR' or on the
+       command line.
 
 git Commits
 ~~~~~~~~~~~
diff --git a/setup.c b/setup.c
index d29063349052757b9e57ed1312fd073399161393..5a083fa77dda016d0f3f511787ebf771aaf1be08 100644 (file)
--- a/setup.c
+++ b/setup.c
@@ -392,7 +392,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
         *   etc.
         */
        offset = len = strlen(cwd);
-       one_filesystem = git_env_bool("GIT_ONE_FILESYSTEM", 0);
+       one_filesystem = !git_env_bool("GIT_DISCOVERY_ACROSS_FILESYSTEM", 0);
        if (one_filesystem) {
                if (stat(".", &buf))
                        die_errno("failed to stat '.'");
@@ -444,7 +444,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
                                }
                                cwd[offset] = '\0';
                                die("Not a git repository (or any parent up to mount parent %s)\n"
-                               "Stopping at filesystem boundary since GIT_ONE_FILESYSTEM is true.", cwd);
+                               "Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).", cwd);
                        }
                }
                if (chdir("..")) {