config: stop checking whether the_repository is NULL

Since the previous commit, our invariant that the_repository is never
NULL is restored, and we can stop being defensive in include_by_branch().

We can confirm the fix by showing that an onbranch config include will
not cause a segfault when run outside a git repository. I've put this in
t1309-early-config since it's related to the case added by 85fe0e800c
(config: work around bug with includeif:onbranch and early config,
2019-07-31), though technically the issue was with
read_very_early_config() and not read_early_config().

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2019-08-06 08:27:58 -04:00 committed by Junio C Hamano
parent 5732f2b1ef
commit 22932d9169
2 changed files with 6 additions and 1 deletions

View File

@ -275,7 +275,7 @@ static int include_by_branch(const char *cond, size_t cond_len)
int flags;
int ret;
struct strbuf pattern = STRBUF_INIT;
const char *refname = !the_repository || !the_repository->gitdir ?
const char *refname = !the_repository->gitdir ?
NULL : resolve_ref_unsafe("HEAD", 0, NULL, &flags);
const char *shortname;

View File

@ -94,4 +94,9 @@ test_expect_success 'early config and onbranch' '
test_with_config "[includeif \"onbranch:master\"]path=../broken"
'
test_expect_success 'onbranch config outside of git repo' '
test_config_global includeIf.onbranch:master.path non-existent &&
nongit git help
'
test_done