ref: 0636bfc774b7eb860b6d0009458cfed8b87860e0
parent: d9edee8b1adb4928ef90b5d38813a021495df5fd
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))
--
⑨