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. :) -Peff