diff options
| author | Junio C Hamano <gitster@pobox.com> | 2016-04-03 10:29:35 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2016-04-03 10:29:36 -0700 |
| commit | 05bf1cdccda51ec28e8bd8968855c74a9c11d37b (patch) | |
| tree | 4c4181dcae980847a4947598cdf8e0f1c24994ae /setup.c | |
| parent | 7ce0bee4c4d0f2fc1e8cb0722568438f96d9c717 (diff) | |
| parent | 11e6b3f6d544fd6b2914583749b90b29d1d8683d (diff) | |
| download | git-05bf1cdccda51ec28e8bd8968855c74a9c11d37b.tar.xz | |
Merge branch 'jk/startup-info'
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; } /* |
