Fill in a partial clone later

tovio fetch --deepen and --complete.

Written By Dustin

Last updated 20 minutes ago

tovio fetch --deepen 100tovio fetch --complete
FlagWhat it does
--deepen <n>Extends a shallow (--depth) history boundary by n more commits, and updates the promisor marker.
--completeFetches every omitted object and clears the promisor marker, returning the repository to a complete, offline-sovereign state.

They are mutually exclusive — pass one or the other.

It only works on a promisor-backed clone

fetch grows a clone made with --blobless, --blob-limit, --depth, or --no-attachments. Run it anywhere else — including on a --sparse clone, which is path-scoped rather than promisor-backed — and it refuses with “this repository is already complete (not a partial / promisor-backed clone); nothing to fetch”.

That refusal is accurate, not a bug: a sparse clone never recorded promises for the objects outside its scope. Widening one means cloning again with a broader scope, or without --sparse.

When you need this

  • tovio blame or tovio log hits the edge of your shallow history.
  • You cloned --blobless or --blob-limit and now need file contents offline.
  • A read failed with TVO-SYNC-005 because the promisor could not supply a promised object.
  • An operation refused because it needs the full closure — tovio git export is the common one.
  • Background auto-sync is skipping upstream integration, which it does on any promisor-backed clone.
  • You are about to leave and want a complete copy.

Before an exit copy

Run --complete before treating a clone as your copy of record. A partial clone depends on the remote still being there, and a promisor is trusted for availability only.

Cost

--complete on a large repository transfers everything that was skipped, in one go. If you only need a bit more history, deepen incrementally instead.

Checking what you have

tovio fsck

Re-hashes every object, verifies references and the audit chain, and exits non-zero on any structural problem. Worth running after completing a clone you intend to rely on.