Re: [PATCH v5 02/14] sparse-index: include EXTENDED flag when expanding
From: Elijah Newren <hidden>
Date: 2021-06-09 18:13:10
On Wed, Jun 9, 2021 at 10:39 AM Derrick Stolee [off-list ref] wrote:
On 6/8/2021 2:56 PM, Elijah Newren wrote:quoted
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.quoted
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; this looks good to me.