From: Junio C Hamano Date: Thu, 27 Feb 2014 00:22:56 GMT Subject: Re: [PATCH v3 17/25] setup.c: detect $GIT_COMMON_DIR check_repository_format_gently() Message-ID: In-Reply-To: <1392730814-19656-18-git-send-email-pclouds@gmail.com> Nguyễn Thái Ngọc Duy writes: > Signed-off-by: Nguyễn Thái Ngọc Duy > --- It is a good thing to do to read config from the real repository we are borrowing from when we have .git/commondir, but it makes me wonder if we should signal some kind of error if we find .git/config in such a borrowing repository---which will be silently ignored. My gut feeling is that such a check may be necessary, but may not belong to this function. > setup.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/setup.c b/setup.c > index 282fdc9..e56ec11 100644 > --- a/setup.c > +++ b/setup.c > @@ -285,6 +285,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() > @@ -294,8 +298,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)