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 /remote.c | |
| parent | f55f97cb3307f49e6b15d9f0145b6d3f00b22ff7 (diff) | |
| parent | 11e6b3f6d544fd6b2914583749b90b29d1d8683d (diff) | |
| download | 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 'remote.c')
| -rw-r--r-- | remote.c | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -455,7 +455,6 @@ static void read_config(void) { static int loaded; struct object_id oid; - const char *head_ref; int flag; if (loaded) @@ -463,10 +462,12 @@ static void read_config(void) loaded = 1; current_branch = NULL; - head_ref = resolve_ref_unsafe("HEAD", 0, oid.hash, &flag); - if (head_ref && (flag & REF_ISSYMREF) && - skip_prefix(head_ref, "refs/heads/", &head_ref)) { - current_branch = make_branch(head_ref, 0); + if (startup_info->have_repository) { + const char *head_ref = resolve_ref_unsafe("HEAD", 0, oid.hash, &flag); + if (head_ref && (flag & REF_ISSYMREF) && + skip_prefix(head_ref, "refs/heads/", &head_ref)) { + current_branch = make_branch(head_ref, 0); + } } git_config(handle_config, NULL); alias_all_urls(); |
