Remove the set_index_sparse_config() function by folding it into set_sparse_index_config(), which was its only user. Since 122ba1f7b52 (sparse-checkout: toggle sparse index from builtin, 2021-03-30) the flow of this code hasn't made much sense, we'd get "enabled" in set_sparse_index_config(), proceed to call set_index_sparse_config() with it. There we'd call prepare_repo_settings() and set "repo->settings.sparse_index = 1", only to needlessly call prepare_repo_settings() again in set_sparse_index_config() (where it would early abort), and finally setting "repo->settings.sparse_index = enabled". Instead we can just call prepare_repo_settings() once, and set the variable to "enabled" in the first place. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- sparse-index.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/sparse-index.c b/sparse-index.c index 6f21397e2ee..b0d5dc5f081 100644 --- a/sparse-index.c +++ b/sparse-index.c @@ -102,7 +102,7 @@ static int convert_to_sparse_rec(struct index_state *istate, return num_converted - start_converted; } -static int set_index_sparse_config(struct repository *repo, int enable) +int set_sparse_index_config(struct repository *repo, int enable) { int res; char *config_path = repo_git_path(repo, "config.worktree"); @@ -111,15 +111,6 @@ static int set_index_sparse_config(struct repository *repo, int enable) enable ? "true" : NULL); free(config_path); - prepare_repo_settings(repo); - repo->settings.sparse_index = 1; - return res; -} - -int set_sparse_index_config(struct repository *repo, int enable) -{ - int res = set_index_sparse_config(repo, enable); - prepare_repo_settings(repo); repo->settings.sparse_index = enable; return res; -- 2.31.1.838.g7ac6e98bb53