From: Derrick Stolee Date: Thu, 1 Apr 2021 01:49:43 +0000 (+0000) Subject: checkout-index: ensure full index X-Git-Tag: v2.32.0-rc0~59^2~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1b850d37f42d58d1c4ad1454d80ecf33797bc467;p=thirdparty%2Fgit.git checkout-index: ensure full index Before we iterate over all cache entries, ensure that the index is not sparse. This loop in checkout_all() might be safe to iterate over a sparse index, but let's put this protection here until it can be carefully tested. Signed-off-by: Derrick Stolee Reviewed-by: Elijah Newren Signed-off-by: Junio C Hamano --- diff --git a/builtin/checkout-index.c b/builtin/checkout-index.c index 023e49e271..2c2936a9da 100644 --- a/builtin/checkout-index.c +++ b/builtin/checkout-index.c @@ -119,6 +119,8 @@ static void checkout_all(const char *prefix, int prefix_length) int i, errs = 0; struct cache_entry *last_ce = NULL; + /* TODO: audit for interaction with sparse-index. */ + ensure_full_index(&the_index); for (i = 0; i < active_nr ; i++) { struct cache_entry *ce = active_cache[i]; if (ce_stage(ce) != checkout_stage