[PATCH v4 02/12] sparse-index: include EXTENDED flag when expanding
- From
Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
- Date
- May 21, 2021, 11:59 UTC
- Message-ID
- <8aa41e749471df3bd9d593b8f55db6506eafea12.1621598382.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.932.v4.git.1621598382.gitgitgadget@gmail.com>
From: Derrick Stolee <dstolee@microsoft.com>
When creating a full index from a sparse one, we create cache entries for every blob within a given sparse directory entry. These are correctly marked with the CE_SKIP_WORKTREE flag, but they must also be marked with the CE_EXTENDED flag to ensure that the skip-worktree bit is correctly written to disk in the case that the index is not converted back down to a sparse-index.
Signed-off-by: Derrick Stolee <dstolee@microsoft.com> --- sparse-index.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sparse-index.c b/sparse-index.c index 1b49898d0cb7..b2b3fbd75050 100644 --- a/sparse-index.c +++ b/sparse-index.c @@ -222,7 +222,7 @@ static int add_path_to_index(const struct object_id *oid, strbuf_addstr(base, path); ce = make_cache_entry(istate, mode, oid, base->buf, 0, 0); - ce->ce_flags |= CE_SKIP_WORKTREE; + ce->ce_flags |= CE_SKIP_WORKTREE | CE_EXTENDED; set_index_entry(istate, istate->cache_nr++, ce); strbuf_setlen(base, len);
-- gitgitgadget