Commit Diff


commit - 33dc8d040ba1b3229b5496aaf43d4f6f460b79f0
commit + 20b176d5c92c33da5ed03237b023fe8da90f66b1
blob - 16bbbf96f3e4c7a6e191458f429e5e923e841e94
blob + 4ca6a1a924019209665082893c59d1f08111ce03
--- lib/pack_create.c
+++ lib/pack_create.c
@@ -1256,7 +1256,7 @@ findtwixt(struct got_object_id ***res, int *nres, int 
 	const struct got_error *err = NULL;
 	struct got_object_id_queue ids;
 	struct got_object_idset *keep, *drop, *skip = NULL;
-	int i, nkeep;
+	int i, nkeep, nqueued = 0;
 
 	STAILQ_INIT(&ids);
 	*res = NULL;
@@ -1286,6 +1286,7 @@ findtwixt(struct got_object_id ***res, int *nres, int 
 		err = queue_commit_or_tag_id(id, COLOR_KEEP, &ids, repo);
 		if (err)
 			goto done;
+		nqueued++;
 	}
 
 	for (i = 0; i < ntail; i++) {
@@ -1295,9 +1296,10 @@ findtwixt(struct got_object_id ***res, int *nres, int 
 		err = queue_commit_or_tag_id(id, COLOR_DROP, &ids, repo);
 		if (err)
 			goto done;
+		nqueued++;
 	}
 
-	err = got_pack_paint_commits(ncolored, &ids, nhead + ntail,
+	err = got_pack_paint_commits(ncolored, &ids, nqueued,
 	    keep, drop, skip, repo, progress_cb, progress_arg, rl,
 	    cancel_cb, cancel_arg);
 	if (err)