Re: Memory leak with sparse-checkout
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Sep 22, 2021, 19:16 UTC
- Message-ID
- <98bd3b94-eb8d-b074-b89d-d86dcefaa995@gmail.com>
- In-Reply-To
- <YUpEX7mmZ0WPvbYK@nand.local>
On 9/21/2021 4:45 PM, Taylor Blau wrote:
Show 33 quoted lines
> 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.
You don't get that warning because it's not trying to parse the previous patterns using cone mode. Before my series, you would get the warning in a _second_ run of "git sparse-checkout init --cone".
We should add a different warning for overwriting the existing patterns.
Thanks, -Stolee