Jeff King <peff@xxxxxxxx> writes: > On Wed, Jul 03, 2019 at 11:10:22AM -0700, Junio C Hamano wrote: > >> > Or perhaps we could differentiate our temporary locks from "real" .keep >> > files by looking at the content; I think our locks always say something >> > like "(receive|receive)-pack \d+ on .*", and it wouldn't be too onerous >> > to commit to that, I think (or even adjust it to something even more >> > unambiguous). >> >> True, but it may be overkill to open and read. > > Yeah, that cross my mind as well, but: > > 1. We'd only need to open them when we _see_ them. And they're pretty > rare anyway. > > 2. Effort-wise, we're already opening and mmap-ing the .idx files, so > this is on par. > > 3. Most callers don't care about keep-files anyway. We could turn > packed_git.pack_keep into: > > enum { > PACK_KEEP_NONE, > PACK_KEEP_LOCK, > PACK_KEEP_USER > } check_packed_keep(struct packed_git *pack); > > and then most programs wouldn't pay anything. > > Just some thoughts. I don't have immediate plans to work on it, but > maybe somebody else is excited about it. :) OK. I do agree that .keep would be rare enough to justify spending a bit more extra cycles, as long as the benefit is big enough (and in this case it may be a good trade-off).