OverviewFilesCommitsIssuesDocsReleasesPeers

pear-git commits / f13a3a6

Filter .pear-git-ignore repos in listAll — single enforcement point
listAll() is the funnel for all repo loading (startup, deploy, federation, import, metadata watch). Filtering here guarantees ignored repos never appear in this.repos regardless of whether the Hyperbee entry persists. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
f13a3a6e94742e0b20104b917d1abe1561ef5954
by plankatron <fleeky@gmail.com> · 2026-04-09T12:46:20.000Z

Changed files (1) +7 -0

lib/repo-registry.js +7 -0
……@@ -605,6 +605,7 @@ echo "[post-receive] Auto-deploy triggered for $REPO_NAME"
605605
606606 /**
607607 * List all registered repositories
608 * Filters out repos whose bare directory contains a .pear-git-ignore marker
608609 */
609610 async listAll() {
610611 const repos = []
……@@ -613,6 +614,12 @@ echo "[post-receive] Auto-deploy triggered for $REPO_NAME"
613614 gt: 'repo:',
614615 lt: 'repo:\xff'
615616 })) {
617 // Skip repos with .pear-git-ignore marker on disk
618 if (entry.value && entry.value.path) {
619 const ignoreMarker = path.join(entry.value.path, '.pear-git-ignore')
620 const ignored = await fs.promises.stat(ignoreMarker).catch(() => null)
621 if (ignored) continue
622 }
616623 repos.push(entry.value)
617624 }
618625 } catch (err) {