Re: [PATCH v5 02/14] sparse-index: include EXTENDED flag when expanding
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Jun 9, 2021, 17:39 UTC
- Message-ID
- <23508662-37f2-97a4-3cf0-916a3705a272@gmail.com>
- In-Reply-To
- <CABPp-BGrAU==rEjtX5DNXs05_pcSVzAZBTFxGgGEA+xUO1oS1Q@mail.gmail.com>
On 6/8/2021 2:56 PM, Elijah Newren wrote:
Show 16 quoted lines
> On Mon, Jun 7, 2021 at 5:34 AM Derrick Stolee via GitGitGadget > <gitgitgadget@gmail.com> wrote: >> >> 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. > > In our previous discussion on this patch from v3 > (https://lore.kernel.org/git/cb9161ca-dc6e-b77b-1a41-385ed8920bb2@gmail.com/), > 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