Merge branch 'js/early-config-with-onbranch'
The recently added [includeif "onbranch:branch"] feature does not work well with an early config mechanism, as it attempts to find out what branch we are on before we even haven't located the git repository. The inclusion during early config scan is ignored to work around this issue. * js/early-config-with-onbranch: config: work around bug with includeif:onbranch and early config
This commit is contained in:
commit
e46249f73e
3
config.c
3
config.c
@ -275,7 +275,8 @@ static int include_by_branch(const char *cond, size_t cond_len)
|
||||
int flags;
|
||||
int ret;
|
||||
struct strbuf pattern = STRBUF_INIT;
|
||||
const char *refname = resolve_ref_unsafe("HEAD", 0, NULL, &flags);
|
||||
const char *refname = !the_repository || !the_repository->gitdir ?
|
||||
NULL : resolve_ref_unsafe("HEAD", 0, NULL, &flags);
|
||||
const char *shortname;
|
||||
|
||||
if (!refname || !(flags & REF_ISSYMREF) ||
|
||||
|
@ -89,4 +89,9 @@ test_expect_failure 'ignore .git/ with invalid config' '
|
||||
test_with_config "["
|
||||
'
|
||||
|
||||
test_expect_success 'early config and onbranch' '
|
||||
echo "[broken" >broken &&
|
||||
test_with_config "[includeif \"onbranch:refs/heads/master\"]path=../broken"
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user