setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sun, 30 Nov 2014 08:24:43 +0000 (15:24 +0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 1 Dec 2014 19:00:15 +0000 (11:00 -0800)
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 00a23e6edf454bce0a30783e57195f251c1e1e11..1d4f1aad3911313ee25ea73ec4517fffefbb0615 100644 (file)
--- a/setup.c
+++ b/setup.c
@@ -346,6 +346,10 @@ static int check_repository_format_gently(const char *gitdir, int *nongit_ok)
        const char *repo_config;
        int ret = 0;
 
+       get_common_dir(&sb, gitdir);
+       strbuf_addstr(&sb, "/config");
+       repo_config = sb.buf;
+
        /*
         * git_config() can't be used here because it calls git_pathdup()
         * to get $GIT_CONFIG/config. That call will make setup_git_env()
@@ -355,8 +359,6 @@ static int check_repository_format_gently(const char *gitdir, int *nongit_ok)
         * Use a gentler version of git_config() to check if this repo
         * is a good one.
         */
-       strbuf_addf(&sb, "%s/config", gitdir);
-       repo_config = sb.buf;
        git_config_early(check_repository_format_version, NULL, repo_config);
        if (GIT_REPO_VERSION < repository_format_version) {
                if (!nongit_ok)