Skip to content

Commit

Permalink
Do check_repository_format() early
Browse files Browse the repository at this point in the history
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: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Nguyễn Thái Ngọc Duy authored and Junio C Hamano committed Nov 30, 2007
1 parent 1e8a195 commit 138dd1e
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,14 @@ const char *setup_git_directory_gently(int *nongit_ok)
static char buffer[1024 + 1];
const char *retval;

if (!work_tree_env)
return set_work_tree(gitdirenv);
if (!work_tree_env) {
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,
get_git_work_tree());
if (!retval || !*retval)
Expand Down Expand Up @@ -271,6 +277,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
if (!work_tree_env)
inside_work_tree = 0;
setenv(GIT_DIR_ENVIRONMENT, ".", 1);
check_repository_format();
return NULL;
}
chdir("..");
Expand All @@ -291,6 +298,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
if (!work_tree_env)
inside_work_tree = 1;
git_work_tree_cfg = xstrndup(cwd, offset);
check_repository_format();
if (offset == len)
return NULL;

Expand Down Expand Up @@ -351,7 +359,6 @@ int check_repository_format(void)
const char *setup_git_directory(void)
{
const char *retval = setup_git_directory_gently(NULL);
check_repository_format();

/* If the work tree is not the default one, recompute prefix */
if (inside_work_tree < 0) {
Expand Down

0 comments on commit 138dd1e

Please sign in to comment.