Re: [PATCH v2 6/6] refs/reftable: wire up support for exclude patterns
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Sep 17, 2024, 09:53 UTC
- Message-ID
- <ZulRrH2Pgrv/Cr/X@nand.local>
- In-Reply-To
- <ZulOLLdh1_jrYcN2@pks.im>
On Tue, Sep 17, 2024 at 11:39:04AM +0200, Patrick Steinhardt wrote:
Show 9 quoted lines
> > Ugh, I just read the next hunk below, so ignore me here ;-). > > ;) > > I was also wondering whether we'd want to amend the generic parts of the > refs interface to filter out globs. But it is entirely feasible that a > backend can indeed filter out globs efficiently, even though none of the > current ones can. So it kind of makes sense to keep things as-is and let > the backends themselves decide what they can use.
Yep, agreed.
Show 15 quoted lines
> > One question I had reading this is why we don't filter these out on the > > fly in the iterator itself instead of allocating a separate array that > > we have to xstrdup() into and free later on. > > > > We may be at the point of diminishing returns here, but I wonder if > > allocating this thing is more expensive than a few redundant strcmp()s > > and calls to is_glob_special(). I dunno. > > I think duplicating the array is the right thing to do anyway to not get > weird lifetime issues with the exclude patterns. A caller may set up a > ref iterator that they may end up using for longer than they keep alive > the exlude patterns passed to the iterator. So by duplicating the array > we might end up wasting a bit of memory, but we avoid such lifetime > problems completely, which I think is a win to make the infrastructure > less fragile.
OK, I trust your judgement here over my own as not having nearly the familiarity with reftables as you do.
Thanks, Taylor