diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-04-14 18:57:46 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-04-14 18:57:46 -0700 |
commit | 237e6db5c08b095d84d352206e6dcd332fbfca5a (patch) | |
tree | f08b974058b1bd1a0ef8ddb09f1065806a205796 /setup.c | |
parent | f55f97cb3307f49e6b15d9f0145b6d3f00b22ff7 (diff) | |
parent | 11e6b3f6d544fd6b2914583749b90b29d1d8683d (diff) | |
download | git-237e6db5c08b095d84d352206e6dcd332fbfca5a.tar.gz git-237e6db5c08b095d84d352206e6dcd332fbfca5a.tar.xz |
Merge branch 'jk/startup-info' into maint
The startup_info data, which records if we are working inside a
repository (among other things), are now uniformly available to Git
subcommand implementations, and Git avoids attempting to touch
references when we are not in a repository.
* jk/startup-info:
use setup_git_directory() in test-* programs
grep: turn off gitlink detection for --no-index
mailmap: do not resolve blobs in a non-repository
remote: don't resolve HEAD in non-repository
setup: set startup_info->have_repository more reliably
setup: make startup_info available everywhere
Diffstat (limited to 'setup.c')
-rw-r--r-- | setup.c | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -7,6 +7,9 @@ static int inside_work_tree = -1; static int work_tree_config_is_bogus; static struct string_list unknown_extensions = STRING_LIST_INIT_DUP; +static struct startup_info the_startup_info; +struct startup_info *startup_info = &the_startup_info; + /* * The input parameter must contain an absolute path, and it must already be * normalized. @@ -905,10 +908,9 @@ const char *setup_git_directory_gently(int *nongit_ok) else setenv(GIT_PREFIX_ENVIRONMENT, "", 1); - if (startup_info) { - startup_info->have_repository = !nongit_ok || !*nongit_ok; - startup_info->prefix = prefix; - } + startup_info->have_repository = !nongit_ok || !*nongit_ok; + startup_info->prefix = prefix; + return prefix; } @@ -984,7 +986,9 @@ int check_repository_format_version(const char *var, const char *value, void *cb int check_repository_format(void) { - return check_repository_format_gently(get_git_dir(), NULL); + check_repository_format_gently(get_git_dir(), NULL); + startup_info->have_repository = 1; + return 0; } /* |