On Tue, Sep 21, 2021 at 02:56:01PM -0400, Derrick Stolee wrote: > > I thought that it might have been related to your third patch to change > > how bad patterns are detected. But I ran the following script after > > applying each of your three patches individually: > > > > rm -fr repo > > git init repo > > cd repo > > > > git sparse-checkout init > > git sparse-checkout add foo > > git sparse-checkout init --cone > > git sparse-checkout add foo > > > > and the only difference is that we started silently dropping the bad > > "foo" pattern after re-adding foo in cone-mode starting with the second > > patch. > > In patch 2, we "detect" that the old patterns were not in cone mode > because the core.sparseCheckoutCone config is false when parsing the > patterns, so use_cone_patterns is 0. I fear that we're talking about different things. With your patches, if I munge my .git/info/sparse-checkout file, I can easily get something like: $ git.compile sparse-checkout list warning: unrecognized pattern: 'foo' warning: disabling cone pattern matching to appear. But I'm wondering why the same doesn't happen when running `git sparse-checkout init --cone` while the existing sparse-checkout definition contains non-cone mode entries. I could be holding it wrong, but I was unsuccessful in getting a warning out with the quoted script. > Let's move the discussion to that thread so we can interleave the > patches themselves. Sure, if you want. I just found it easier to reply here since I can more readily quote the things I want to respond to. Thanks, Taylor