Import or bridge failed
The TVO-MIG family.
Written By Dustin
Last updated 15 minutes ago
TVO-MIG-* covers Git migration and bridge interoperability. Exit class 21.
Import refused before it started
Two codes, and between them they are most import failures:
TVO-MIG-002— the target repository already has lanes.git importneeds a fresh repository, because importing into one with history would entangle the two. Import into a clean repo. This is also what a retried, partially-written import looks like: the first attempt left lanes behind.TVO-MIG-003— the source Git repository is empty or has no branches. Nothing to import; point at a repo with commits.
tovio git import /path/to/repoBridge failures
tovio git bridge <remote> --bidirectionalTVO-MIG-004— transport, credential, timeout, or translation failure. Authentication to the Git host fails on the Git side, so check that credential and your installedgitfirst, then rerun.TVO-MIG-006— publish refused because the remoterefs/heads/tovio/*advanced, so publishing would be a non-fast-forward. The bridge never force-pushes — that would discard remote history. Re-import to pick up the remote work, then reconcile the diverged lanes through review and land.- Protected paths. Content behind a policy bridges as ciphertext. Surprising, and correct — the Git side holds no recipient key.
Pushing into a TOVIO Forge with a Git client
A different surface with its own refusals, reported over Git’s status protocol:
TVO-GHC-060— the push touches a protected path. The Git surface is clear-paths-only, since a Git client cannot encrypt and the Forge holds no recipient key for the cleartext. Nothing is written.TVO-GHC-061— a non-fast-forward update where your token lacks force authority on that lane.TVO-GHC-062— the repository requires signed commits. The bridge imports every pushed commit unsigned under the serving key, so a signed-commit policy can never be satisfied over Git. Use the native client.TVO-GHC-063— a direct push to a review-required lane. Push torefs/for/<lane>instead, which opens a Proposal.
Things that were never going to import
Hooks, submodules, LFS pointer semantics, and Git commit signatures. See the import article — this is expected rather than a failure.
Verify after importing
tovio logtovio fsckReporting it
The code, and roughly what the source repository contains — size, rough age, whether it uses submodules or LFS. Not its name, its remote URL, or its contents.