Merge branch 'jh/fsck-promisors'
In preparation for implementing narrow/partial clone, the machinery for checking object connectivity used by gc and fsck has been taught that a missing object is OK when it is referenced by a packfile specially marked as coming from trusted repository that promises to make them available on-demand and lazily. * jh/fsck-promisors: gc: do not repack promisor packfiles rev-list: support termination at promisor objects sha1_file: support lazily fetching missing objects introduce fetch-object: fetch one promisor object index-pack: refactor writing of .keep files fsck: support promisor objects as CLI argument fsck: support referenced promisor objects fsck: support refs pointing to promisor objects fsck: introduce partialclone extension extension.partialclone: introduce partial clone extension
This commit is contained in:
7
setup.c
7
setup.c
@ -422,7 +422,11 @@ static int check_repo_format(const char *var, const char *value, void *vdata)
|
||||
;
|
||||
else if (!strcmp(ext, "preciousobjects"))
|
||||
data->precious_objects = git_config_bool(var, value);
|
||||
else
|
||||
else if (!strcmp(ext, "partialclone")) {
|
||||
if (!value)
|
||||
return config_error_nonbool(var);
|
||||
data->partial_clone = xstrdup(value);
|
||||
} else
|
||||
string_list_append(&data->unknown_extensions, ext);
|
||||
} else if (strcmp(var, "core.bare") == 0) {
|
||||
data->is_bare = git_config_bool(var, value);
|
||||
@ -464,6 +468,7 @@ static int check_repository_format_gently(const char *gitdir, struct repository_
|
||||
}
|
||||
|
||||
repository_format_precious_objects = candidate->precious_objects;
|
||||
repository_format_partial_clone = candidate->partial_clone;
|
||||
string_list_clear(&candidate->unknown_extensions, 0);
|
||||
if (!has_common) {
|
||||
if (candidate->is_bare != -1) {
|
||||
|
||||
Reference in New Issue
Block a user