Merge branch 'mh/maint-ceil-absolute'
authorJunio C Hamano <gitster@pobox.com>
Wed, 27 Feb 2013 17:47:27 +0000 (27 09:47 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 27 Feb 2013 17:47:28 +0000 (27 09:47 -0800)
An earlier workaround designed to help people who list logical
directories that will not match what getcwd(3) returns in the
GIT_CEILING_DIRECTORIES had an adverse effect when it is slow to
stat and readlink a directory component of an element listed on it.

* mh/maint-ceil-absolute:
  Provide a mechanism to turn off symlink resolution in ceiling paths

1  2 
Documentation/git.txt
setup.c

@@@ -678,12 -653,19 +678,19 @@@ Git so take care if using Cogito etc
        The '--namespace' command-line option also sets this value.
  
  'GIT_CEILING_DIRECTORIES'::
-       This should be a colon-separated list of absolute paths.
-       If set, it is a list of directories that Git should not chdir
-       up into while looking for a repository directory.
-       It will not exclude the current working directory or
-       a GIT_DIR set on the command line or in the environment.
-       (Useful for excluding slow-loading network directories.)
+       This should be a colon-separated list of absolute paths.  If
 -      set, it is a list of directories that git should not chdir up
++      set, it is a list of directories that Git should not chdir up
+       into while looking for a repository directory (useful for
+       excluding slow-loading network directories).  It will not
+       exclude the current working directory or a GIT_DIR set on the
+       command line or in the environment.  Normally, Git has to read
+       the entries in this list and resolve any symlink that
+       might be present in order to compare them with the current
+       directory.  However, if even this access is slow, you
+       can add an empty entry to the list to tell Git that the
+       subsequent entries are not symlinks and needn't be resolved;
+       e.g.,
+       'GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink'.
  
  'GIT_DISCOVERY_ACROSS_FILESYSTEM'::
        When run in a directory that does not have ".git" repository
diff --cc setup.c
Simple merge