"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
"Omar Polo" <op@omarpolo.com>
Subject:
small simplification for got_pack_paint_commits()
To:
gameoftrees@openbsd.org
Date:
Wed, 20 Aug 2025 16:07:25 +0200

Download raw body.

Thread
just as per subject; hit this bit while debugging the coloring and
wanted to untangle it a little bit.

(actually i'm still unsure whether we can just goto done in case of an
error and only then eventually remove the id from the queue, which would
feel a little bit more natural.)


diff /home/op/w/got
path + /home/op/w/got
commit - 2d67dc3aa72fb921c2b7ddcf2af6814acf2784c2
blob - c29bd335ba24926a633d0fdfb8bbfb2624c42d73
file + lib/pack_create_privsep.c
--- lib/pack_create_privsep.c
+++ lib/pack_create_privsep.c
@@ -447,17 +447,15 @@ got_pack_paint_commits(int *ncolored, struct got_objec
 				    ids, keep, drop, skip, repo,
 				    progress_cb, progress_arg, rl,
 				    cancel_cb, cancel_arg);
-				if (err && qid == NULL)
-					goto done;
 				if (qid) {
 					STAILQ_REMOVE(ids, qid,
 					    got_object_qid, entry);
 					nqueued--;
 					got_object_qid_free(qid);
 					qid = NULL;
-					if (err)
-						goto done;
 				}
+				if (err)
+					goto done;
 				continue;
 			}
 		}