On Mon, Jun 24, 2019 at 11:30:59AM +0200, Ævar Arnfjörð Bjarmason wrote: > I can't think of some great solution for this case, some thoughts: > > a. Perhaps we should split the *.keep flag into two things or > more. > > We're using it for all of "I want this *.pack forever" > (e.g. debugging) and "I want only this *.pack to contain the data > found in it" (I/O & CPU optimization, what Janos wants) and "I'm > git.git code avoiding a race with myself" (what you describe in #3). > > So maybe for the last of those we could also use and understand > *.tmp-keep, at which point we wouldn't have this race described in > #3. The 1st of those is a *.noprune and the 2nd is *.highlander (but > whether it's worth splitting all that out v.s. just having > *.tmp-keep is another matter). Yeah, this is exactly the crux of the problem. We have two very different things that are not distinguished by the reader. I left some thoughts elsewhere in the thread: https://public-inbox.org/git/20190703173814.GA29348@xxxxxxxxxxxxxxxxxxxxx/ -Peff