提交 138dd1e9 编写于 作者: N Nguyễn Thái Ngọc Duy 提交者: Junio C Hamano

Do check_repository_format() early

Repository version check is only performed when
setup_git_directory() is called. This makes sure
setup_git_directory_gently() does the check too.
Signed-off-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Acked-by: NJohannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 1e8a1954
...@@ -230,8 +230,14 @@ const char *setup_git_directory_gently(int *nongit_ok) ...@@ -230,8 +230,14 @@ const char *setup_git_directory_gently(int *nongit_ok)
static char buffer[1024 + 1]; static char buffer[1024 + 1];
const char *retval; const char *retval;
if (!work_tree_env) if (!work_tree_env) {
return set_work_tree(gitdirenv); retval = set_work_tree(gitdirenv);
/* config may override worktree
* see set_work_tree comment */
check_repository_format();
return retval;
}
check_repository_format();
retval = get_relative_cwd(buffer, sizeof(buffer) - 1, retval = get_relative_cwd(buffer, sizeof(buffer) - 1,
get_git_work_tree()); get_git_work_tree());
if (!retval || !*retval) if (!retval || !*retval)
...@@ -271,6 +277,7 @@ const char *setup_git_directory_gently(int *nongit_ok) ...@@ -271,6 +277,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
if (!work_tree_env) if (!work_tree_env)
inside_work_tree = 0; inside_work_tree = 0;
setenv(GIT_DIR_ENVIRONMENT, ".", 1); setenv(GIT_DIR_ENVIRONMENT, ".", 1);
check_repository_format();
return NULL; return NULL;
} }
chdir(".."); chdir("..");
...@@ -291,6 +298,7 @@ const char *setup_git_directory_gently(int *nongit_ok) ...@@ -291,6 +298,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
if (!work_tree_env) if (!work_tree_env)
inside_work_tree = 1; inside_work_tree = 1;
git_work_tree_cfg = xstrndup(cwd, offset); git_work_tree_cfg = xstrndup(cwd, offset);
check_repository_format();
if (offset == len) if (offset == len)
return NULL; return NULL;
...@@ -351,7 +359,6 @@ int check_repository_format(void) ...@@ -351,7 +359,6 @@ int check_repository_format(void)
const char *setup_git_directory(void) const char *setup_git_directory(void)
{ {
const char *retval = setup_git_directory_gently(NULL); const char *retval = setup_git_directory_gently(NULL);
check_repository_format();
/* If the work tree is not the default one, recompute prefix */ /* If the work tree is not the default one, recompute prefix */
if (inside_work_tree < 0) { if (inside_work_tree < 0) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册