On Wed, Jun 9, 2021 at 10:39 AM Derrick Stolee <stolee@xxxxxxxxx> wrote: > > On 6/8/2021 2:56 PM, Elijah Newren wrote: > > On Mon, Jun 7, 2021 at 5:34 AM Derrick Stolee via GitGitGadget > > <gitgitgadget@xxxxxxxxx> wrote: > >> > >> From: Derrick Stolee <dstolee@xxxxxxxxxxxxx> > >> > >> 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@xxxxxxxxx/), > > 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; this looks good to me.