Skip to main content
Troubleshooting & error codes

Import or bridge failed

The TVO-MIG family.

Written By Dustin

Last updated About 1 month 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 import needs 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/repo

Bridge failures

tovio git bridge <remote> --bidirectional
  • TVO-MIG-004 โ€” transport, credential, timeout, or translation failure. Authentication to the Git host fails on the Git side, so check that credential and your installed git first, then rerun.
  • TVO-MIG-006 โ€” publish refused because the remote refs/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 to refs/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 log
tovio fsck

Reporting 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.