Data model

A mirror made of ordinary Git.

slerim keeps the repository’s objects and refs in a form developers can inspect with the tools they already use.

Four parts, one portable history

The design keeps recovery understandable and avoids a proprietary export format.

01 · Source

Read-only fetch

The GitHub App reads repository contents to create and update a mirror. It does not need write access to source repositories.

02 · Objects

Git history

Commits, trees, and blobs are stored as Git objects. Incremental fetches add objects that were not already present.

03 · References

Dated branch tips

Snapshot refs keep branch tips reachable after a force-push or branch deletion, preserving a route back to earlier commits.

04 · Proof

Integrity check

A rebuilt copy can be checked with git fsck --full to detect missing or corrupt objects.

Storage

Only new history needs uploading

Git packs group objects for transfer. When a repository has no new objects, a backup run can finish without uploading another pack.

Portability

Restore without a special reader

A Git bundle can be cloned and inspected with ordinary Git. The mirror stays useful even if the original hosting account is unavailable.

Read the full recovery model.

See how the mirror is created, checked, and restored.

How it works