On 5/5/2021 8:11 AM, Ævar Arnfjörð Bjarmason wrote: > 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; > This cleanup makes sense to me. The previous code was confusing and this is an improvement. Thanks, -Stolee