Re: [PATCH v3 17/25] setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()

2014-02-27 Thread Junio C Hamano
Duy Nguyen  writes:

> On Thu, Feb 27, 2014 at 7:22 AM, Junio C Hamano  wrote:
>> 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.
>
> Just checking. Once we do this, what about .git/refs/.. that is also
> ignored in such a repo?

It was just that I became aware of the issue while reading this
patch to check-repository-format which is only about config, but
anything inside .git/ of the borrowing repository that are ignored
because it has .git/common-dir (including .git/refs) should be a
cause of the same error, I would say.  That would be the same set
as symlinks created by contrib/workdir/git-new-workdir script.



--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 17/25] setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()

2014-02-26 Thread Duy Nguyen
On Thu, Feb 27, 2014 at 7:22 AM, Junio C Hamano  wrote:
> 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.

Just checking. Once we do this, what about .git/refs/.. that is also
ignored in such a repo? I can see the point that config could be
manually edited so the user may edit the file at the wrong place, so
it's good the we catch this exception.
-- 
Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 17/25] setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()

2014-02-26 Thread Junio C Hamano
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)
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 17/25] setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()

2014-02-18 Thread Nguyễn Thái Ngọc Duy
Signed-off-by: Nguyễn Thái Ngọc Duy 
---
 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)
-- 
1.8.5.2.240.g8478abd

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html