worktree.c: add find_worktree()
[gitweb.git] / setup.c
diff --git a/setup.c b/setup.c
index 09d37204f9cf0de78945bb5983ccfff21bc22e60..1563cd42df2865d9f4390c9e68cdc666b45fcf96 100644 (file)
--- a/setup.c
+++ b/setup.c
@@ -6,6 +6,9 @@ static int inside_git_dir = -1;
 static int inside_work_tree = -1;
 static int work_tree_config_is_bogus;
 
+static struct startup_info the_startup_info;
+struct startup_info *startup_info = &the_startup_info;
+
 /*
  * The input parameter must contain an absolute path, and it must already be
  * normalized.
@@ -937,10 +940,9 @@ const char *setup_git_directory_gently(int *nongit_ok)
        else
                setenv(GIT_PREFIX_ENVIRONMENT, "", 1);
 
-       if (startup_info) {
-               startup_info->have_repository = !nongit_ok || !*nongit_ok;
-               startup_info->prefix = prefix;
-       }
+       startup_info->have_repository = !nongit_ok || !*nongit_ok;
+       startup_info->prefix = prefix;
+
        return prefix;
 }
 
@@ -998,6 +1000,7 @@ int git_config_perm(const char *var, const char *value)
 void check_repository_format(void)
 {
        check_repository_format_gently(get_git_dir(), NULL);
+       startup_info->have_repository = 1;
 }
 
 /*