ref: 5b8382c37b41a5c7addbb74e96e18c7a6071eb45
parent: 2c395c906bc6972a551f07c8178ce8378cf1f680
author: Ori Bernstein <ori@eigenstate.org>
date: Mon Sep 16 18:48:02 EDT 2024
git/query: process full contents of queue, even with skips When skipping objects, we need to process the full queue, because some of the objects in the queue may have already been painted with keep. This can cost a small amount of time, but should not need to advance the frontier by more than one object, so the additional time should be proportional to the spread of the graph.
--- a/sys/src/cmd/git/ref.c
+++ b/sys/src/cmd/git/ref.c
@@ -159,7 +159,7 @@
}
dprint(1, "finding twixt commits\n");
- while(nskip != objq.nheap && qpop(&objq, &e)){
+ while(objq.nheap != 0 && qpop(&objq, &e)){
if(e.color == Skip)
nskip--;
if(oshas(&skip, e.o->hash))
--
⑨