diff --git a/sparse-index.c b/sparse-index.c index 881ed775b95071..60ccf4eeec5354 100644 --- a/sparse-index.c +++ b/sparse-index.c @@ -179,10 +179,12 @@ int convert_to_sparse(struct index_state *istate) /* Clear and recompute the cache-tree */ cache_tree_free(&istate->cache_tree); - if (cache_tree_update(istate, 0)) { - warning(_("unable to update cache-tree, staying full")); - return -1; - } + /* + * Silently return if there is a problem with the cache tree update, + * which might just be due to a conflict state in some entry. + */ + if (cache_tree_update(istate, 0)) + return 0; remove_fsmonitor(istate);