Skip to content
quarry Artifact [2d3596c102]
Login

Artifact [2d3596c102]

Artifact 2d3596c10295131cf6f183b2617f559487e0752beff2dc8788049f86b6fa3754:


Hosting a repository

A repository on quarry is in one of four postures. The posture is chosen once, on the New repository form, and can be changed later from /fleet or the mirror.* ops. It decides who owns the history and which surfaces the forge offers. Everything else — visibility, chat, protected branches — is a setting that applies on top of whichever posture the repository is in.

The four postures

1. Native (start empty)

Quarry is the source of truth from the first push. Every surface is open: push with zit, land branches through landings, run CI, file tickets, edit the wiki and notes, post in the forum, chat. Trunk protection, auto-land and the gate tripwire all apply.

Nothing exists until somebody pushes, so an empty repository shows quick-start commands in place of a timeline. That is the only limitation.

2. Import and own

Clone an existing zit or Fossil server once, then cut the cord. From then on the repository behaves exactly like a native one; the badge beside its name reads forked from <host> and the upstream URL is kept only as provenance.

Implications:

3. Mirror

Clone and keep pulling on an interval. Quarry pulls and never pushes. The interval is floored at 60 seconds: these upstreams are other people's servers, and the floor is a courtesy the form cannot opt out of. --mirror-tick (default 1m) is how often due-ness is evaluated, not how often anything is pulled.

By default a mirror refuses local writes — push, tickets, wiki, forum — because a write landing on a tracking store forks it by accident. The repository pages therefore hide the Landings, CI and Chat tabs and point readers at the upstream's own write surfaces.

Two hard limits before you rely on one:

A failing mirror shows a red badge with the failure count on /fleet and on the repository page. A pull that brings nothing new does not re-index and is not logged.

4. Mirror that accepts writes

A site admin can flip a mirror to accept local writes (mirror.writes, or the switch on /fleet). The repository still tracks the upstream, so it now has two write heads: the next scheduled pull merges upstream on top of whatever landed locally. Landings, CI and Chat stay hidden while the repository tracks.

This is a transition state, not somewhere to live. When the upstream is done being the upstream, detach — that turns the repository into posture 2 cleanly and stops the pulls.

Settings that cut across every posture

Operational notes