Re: [PATCH v5 02/14] sparse-index: include EXTENDED flag when expanding
flat view
From: Derrick Stolee <hidden>
Date: 2021-06-09 17:40:32
On 6/8/2021 2:56 PM, Elijah Newren wrote:
On Mon, Jun 7, 2021 at 5:34 AM Derrick Stolee via GitGitGadget [off-list ref] wrote:quoted
From: Derrick Stolee <redacted> 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.In our previous discussion on this patch from v3 (https://lore.kernel.org/git/cb9161ca-dc6e-b77b-1a41-385ed8920bb2@gmail.com/ (local)), you said you'd explain the reason for this change in a bit more detail, but the commit message has not changed.
Thank you for the reminder.
Could this be corrected?
How does this sound?
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 the CE_EXTENDED
flag is not included. The CE_EXTENDED flag would exist if we loaded a
full index from disk with these entries marked with CE_SKIP_WORKTREE, so
we can add the flag here to be consistent. This allows us to directly
compare the flags present in cache entries when testing the sparse-index
feature, but has no significance to its correctness in the user-facing
functionality.
I have this in my local branch for now, but can update it before the next
version.
Thanks,
-Stolee