Skip to content
quarry quarry
Login

quarry

A forge for Fossil repositories. Quarry hosts many repositories at once and gives each one a timeline, wiki, tickets, forum, chat, landings and CI. It stores and syncs them through zit, a reimplementation of Fossil, so both clients work against it unchanged:

fossil clone https://zeitforge.app/r/quarry quarry.fossil
zit clone https://zeitforge.app/r/quarry quarry.zit

The two clients share Fossil's sync protocol, so clone, pull, push and unversioned files (fossil uv sync, clone -u) behave the same from either. zeitforge.app runs it.

What a repository gets

Bringing a repository

A repository starts empty, is imported from Fossil and owned here, or mirrors an upstream Fossil server on an interval (read-only by default) (docs/hosting.md). Anyone with an account may create one.

Quarry holds no hostage bytes. Everything durable lives in the repositories' own artifacts or their buckets; every quarry index is derived and rebuilt from them. A repository taken elsewhere takes everything with it.

Running it

quarry serve --addr 127.0.0.1:8950 --data ./data --repo quarry=$HOME/quarry

The full stack is quarry, zit, notify and dagnats. Quarry runs zit for every read and write, so the zit version is part of quarry's behaviour: pin it (ZIT_VERSION in scripts/build-linux.sh). Running by hand, with compose, and the fleet admin's work: docs/running.md.

Working on it