Hi, On Fri, 16 May 2008, David Reiss wrote: > Sorry I missed this before. As you said, in Johannes's version the > ceiling directories are the last directories we look in, whereas in my > implementation, they are the first directories we do not look in. I > made this choice because it makes more sense for me to set my ceiling to > "/home", rather than "/home/dreiss", so it will work even if I am in > another user's homedir. > > There is also a difference in how they handle the case where the cwd is > a ceiling directory, but I think it is worth sorting out the first issue > first. Please do not top-post. This is the interdiff to the last squashed patch: -- snip -- diff --git a/setup.c b/setup.c index cece3e4..2f7a17a 100644 --- a/setup.c +++ b/setup.c @@ -441,6 +441,8 @@ const char *setup_git_directory_gently(int *nongit_ok) */ offset = len = strlen(cwd); for (;;) { + if (offset <= min_offset) + goto non_git; gitfile_dir = read_gitfile_gently(DEFAULT_GIT_DIR_ENVIRONMENT); if (gitfile_dir) { if (set_git_dir(gitfile_dir)) @@ -460,6 +462,7 @@ const char *setup_git_directory_gently(int *nongit_ok) chdir(".."); do { if (offset <= min_offset) { +non_git: if (nongit_ok) { if (chdir(cwd)) die("Cannot come back to cwd"); diff --git a/t/t1504-ceiling-directories.sh b/t/t1504-ceiling-directories.sh index 6c8757d..edc00be 100644 --- a/t/t1504-ceiling-directories.sh +++ b/t/t1504-ceiling-directories.sh @@ -30,6 +30,15 @@ test_expect_success 'with non-matching ceiling directory' ' ' +test_expect_success 'with matching ceiling directory' ' + + GIT_CEILING_DIRECTORIES="$CWD" && + export GIT_CEILING_DIRECTORIES && + (cd subdir && test_must_fail git rev-parse --git-dir) && + test_must_fail git rev-parse --git-dir + +' + test_expect_success 'with matching ceiling directories' ' GIT_CEILING_DIRECTORIES="$CWD/X:$CWD/subdir" && -- snap -- I will post the squashed patch as a response to this mail. Ciao, Dscho -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html