get_main_ref_store: BUG() when outside a repository
If we don't have a repository, then we can't initialize the
ref store. Prior to 64a741619d
(refs: store the main ref
store inside the repository struct, 2018-04-11), we'd try to
access get_git_dir(), and outside a repository that would
trigger a BUG(). After that commit, though, we directly use
the_repository->git_dir; if it's NULL we'll just segfault.
Let's catch this case and restore the BUG() behavior.
Obviously we don't ever want to hit this code, but a BUG()
is a lot more helpful than a segfault if we do.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7a1dc605af
commit
2dc417ab1f
3
refs.c
3
refs.c
@ -1654,6 +1654,9 @@ struct ref_store *get_main_ref_store(struct repository *r)
|
|||||||
if (r->refs)
|
if (r->refs)
|
||||||
return r->refs;
|
return r->refs;
|
||||||
|
|
||||||
|
if (!r->gitdir)
|
||||||
|
BUG("attempting to get main_ref_store outside of repository");
|
||||||
|
|
||||||
r->refs = ref_store_init(r->gitdir, REF_STORE_ALL_CAPS);
|
r->refs = ref_store_init(r->gitdir, REF_STORE_ALL_CAPS);
|
||||||
return r->refs;
|
return r->refs;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user