On Tue, Jan 14, 2020 at 02:44:50PM -0500, Derrick Stolee wrote: > Since we've already worked out the workaround to be: > > git clone --no-checkout <url> <dir> > cd <dir> > git sparse-checkout init --cone > > there is no rush to fix this. Users _may_ discover the --sparse option > from the clone docs and complain, but we can point them to the above > directions for now. Yes, but part of the beauty of the new system is just having to say "--sparse" to make something useful happen. :) > > Of course, if there's ever another need for v2.25.1, I don't think that > > this would *hurt* to release then, which is to say that we definitely > > should have these patches in a release, soon, but I don't think that > > there's a terrible sense of urgency in the meantime. > > I wouldn't complain to have patches 1-3 in an otherwise-warranted .1 release. Agreed. 1-3 look obviously correct to me. The quoting bits I'm a little more fuzzy on, just because I haven't really looked hard into cone mode. Ditto for the "disable cone mode" checks. My gut instinct is that you should be able to deduce whether the pattern hashmap can be used purely from the patterns you see, and core.sparseCheckoutCone would not be needed (and so if you violate the rules by writing something manual, then it just gets slower; or maybe we're even able to apply the literal cone-mode rules quickly and handle the other separately). But it's much more likely I'm showing off my lack of knowledge of the details of the problem space. You can feel free to educate me, and/or roll your eyes and ignore me if this was already discussed earlier. By the way, I did notice this while poking about, which could go on top (or hopefully be lumped in with the 1-3 as "obviously correct"): -- >8 -- Subject: [PATCH] sparse-checkout: fix documentation typo for core.sparseCheckoutCone Signed-off-by: Jeff King <peff@xxxxxxxx> --- Documentation/git-sparse-checkout.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/git-sparse-checkout.txt b/Documentation/git-sparse-checkout.txt index 974ade2238..285893b069 100644 --- a/Documentation/git-sparse-checkout.txt +++ b/Documentation/git-sparse-checkout.txt @@ -106,7 +106,7 @@ The full pattern set allows for arbitrary pattern matches and complicated inclusion/exclusion rules. These can result in O(N*M) pattern matches when updating the index, where N is the number of patterns and M is the number of paths in the index. To combat this performance issue, a more restricted -pattern set is allowed when `core.spareCheckoutCone` is enabled. +pattern set is allowed when `core.sparseCheckoutCone` is enabled. The accepted patterns in the cone pattern set are: -- 2.25.0.639.gb9b1511416