OverviewFilesCommitsIssuesDocsReleasesPeers

pear-git-v3 commits / ff06fee

0.1.221 — report the sweep's skip count
0.1.220 taught reconcileAll to skip quiet repos but left the log line gated on `scanned` alone. On a healthy daemon nearly every repo is now skipped, so the sweep would have logged NOTHING — a working sweep indistinguishable from a stopped one, and no way to see whether the skip was doing anything. Now prints e.g. "[reconcile] swept 3 repo(s), skipped 143 quiet", so the sweep stays observable and the skip is measurable rather than merely asserted. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ff06feea714420b51e0e5bdd5041c0d9b79ccf4f
by plankatron <fleeky@gmail.com> · 2026-08-11T16:27:47.000Z

Changed files (2) +12 -2

lib/pear-git.js +11 -1
……@@ -1358,7 +1358,17 @@ export async function startPearGit (opts = {}) {
13581358 {
13591359 const runReconcile = () => {
13601360 Promise.resolve(svc._refReconcilers && svc._refReconcilers.reconcileAll())
1361 .then((r) => { if (r && r.scanned) console.log('[reconcile] swept ' + r.scanned + ' repo(s)') })
1361 // Report skipped too. Once the sweep started asking needsPass()
1362 // (0.1.220) a healthy daemon skips nearly everything, so gating the
1363 // line on `scanned` alone would make a working sweep look like a
1364 // stopped one — and hide the number that says the skip is working.
1365 .then((r) => {
1366 if (!r) return
1367 const skipped = r.skipped || 0
1368 if (!r.scanned && !skipped) return
1369 console.log('[reconcile] swept ' + r.scanned + ' repo(s)' +
1370 (skipped ? ', skipped ' + skipped + ' quiet' : ''))
1371 })
13621372 .catch((err) => console.error('[reconcile] sweep failed:', err && err.message))
13631373 }
13641374 // Boot sweep — delayed so the reverse pullers register their remotes
package.json +1 -1
……@@ -1,6 +1,6 @@
11{
22 "name": "pear-git-v3",
3 "version": "0.1.220",
3 "version": "0.1.221",
44 "description": "P2P git forge — multi-writer issue/org/release/peer-mirror daemon. Built bottom-up after the failed v2.",
55 "type": "module",
66 "main": "index.js",