Re: [SQUASHED PATCH] Add support for GIT_CEILING_DIRECTORIES
- Date: Sat, 17 May 2008 01:19:53 +0100 (BST)
- From: Johannes Schindelin <Johannes.Schindelin@xxxxxx>
- Subject: Re: [SQUASHED PATCH] Add support for GIT_CEILING_DIRECTORIES
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