Add missing inside_work_tree setting in setup_git_directory_gently
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sat, 3 Nov 2007 13:18:06 +0000 (20:18 +0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 4 Nov 2007 04:47:13 +0000 (21:47 -0700)
When both GIT_DIR and GIT_WORK_TREE are set, and
setup_git_directory_gently() changes the current working
directory accordingly, it should also set inside_work_tree = 1.

Without this, work_tree handling code in setup_git_directory()
will be activated. If you stay in root work tree (no prefix),
it does not harm. It does if you work from a subdirectory though.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
setup.c

diff --git a/setup.c b/setup.c
index 145eca50f41d811c4c8fcb21ed2604e6b2971aba..6f8f76958439cfcbcb1bd634e466c28e3da9fca1 100644 (file)
--- a/setup.c
+++ b/setup.c
@@ -240,6 +240,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
                        if (chdir(work_tree_env) < 0)
                                die ("Could not chdir to %s", work_tree_env);
                        strcat(buffer, "/");
+                       inside_work_tree = 1;
                        return retval;
                }
                if (nongit_ok) {