replace-objects: create wrapper around setting
The 'read_replace_objects' constant is initialized by git_default_config (if core.useReplaceRefs is disabled) and within setup_git_env (if GIT_NO_REPLACE_OBJECTS) is set. To ensure that this variable cannot be set accidentally in other places, wrap it in a replace_refs_enabled() method. Since we still assign this global in config.c, we are not able to remove the global scope of this variable and make it a static within replace-object.c. This will happen in a later change which will also prevent the variable from being read before it is initialized. Centralizing read access to the variable is an important first step. Signed-off-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
d24eda4e03
commit
f1178380ac
@ -203,14 +203,12 @@ static struct commit_graph *alloc_commit_graph(void)
|
||||
return g;
|
||||
}
|
||||
|
||||
extern int read_replace_refs;
|
||||
|
||||
static int commit_graph_compatible(struct repository *r)
|
||||
{
|
||||
if (!r->gitdir)
|
||||
return 0;
|
||||
|
||||
if (read_replace_refs) {
|
||||
if (replace_refs_enabled(r)) {
|
||||
prepare_replace_object(r);
|
||||
if (hashmap_get_size(&r->objects->replace_map->map))
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user