Re: [PATCH v3 07/10] sparse-checkout: enable reapply to take --[no-]{cone,sparse-index}

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 13, 2021 at 10:23 AM Junio C Hamano <gitster@xxxxxxxxx> wrote:
>
> "Elijah Newren via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes:
>
> > From: Elijah Newren <newren@xxxxxxxxx>
> >
> > Folks may want to switch to or from cone mode, or to or from a
> > sparse-index without changing their sparsity paths.  Allow them to do so
> > using the reapply command.
>
> Interesting.
>
> Are there certain pattern that would make sense only in one of the
> modes but not the other?  If there isn't any such pattern, this
> feature perfectly makes sense, I would think.

Good question.

Valid cone mode patterns are a strict subset of the possible sparsity
patterns.  So, switching from cone to non-cone mode trivially makes
sense.  Understanding why switching in the other direction is okay
takes a bit more understanding...

Stolee designed cone mode such that when it's active, and someone
edits .git/info/sparse-checkout and adds patterns of their own (which
users might do because that had been suggested for several years in
the read-tree docs -- and still is), then the code will print a
warning ("disabling cone pattern matching") and operate in non-cone
mode.  As such, the sparsity does not "break" when they switch modes
if they have non-cone patterns; they'll just get warnings.

Further, we're making `reapply` consistent with `init` here.  Stolee
made `init` usable for switching modes in an active sparse-checkout
(though it wasn't well documented, and it's slightly confusing to
users who might worry that they'll lose their sparsity patterns by
using `init`).  We're just copying that ability from `init` over in
`reapply`, and recommending using the latter rather than the former.

> If an existing pattern changes its meaning between the old mode and
> the new mode, that is very much fine---that is what the user wanted
> to achieve by switching between the modes with "reapply".
>
> Thanks.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux