Sync will not converge or materialize

TVO-SYNC, including a teammate's change not appearing.

Written By Dustin

Last updated 16 minutes ago

Lanes converge by design, so "will not sync" is usually one of a few specific things rather than divergence.

A teammateโ€™s change is not appearing

Check in order:

  1. Did they push? Their commit existing locally is not the same as it being on the remote.
  2. Are you on the same lane? tovio status.
  3. Is it a draft change? Draft changes are private until promoted โ€” tovio change promote <id> on their side.
  4. Is it a partial clone? It may not carry the paths or the history involved โ€” and the fix depends on which kind of partial it is. A sparse clone is a path scope: widen it with tovio sparse add <dir>. A blobless, size-limited, or shallow clone is content-filtered: tovio fetch --complete fattens it, and tovio fetch --deepen <n> extends history.
  5. Can you read it? If it is protected and you are not a recipient, it syncs as ciphertext and is present but unreadable. tovio access check <path>.

A conflicted dependency is blocking you

TVO-CONFLICT-004: a sync or fetch would materialize, as a dependency you build on top of, a change that still holds unresolved conflicts. It is refused rather than dropped into your tree.

tovio sync --isolate

That builds the conflicted dependency at its last-known-clean state, so someone elseโ€™s conflict does not block your work. Non-conflicted paths use current content; conflicted paths fall back to their most-recent conflict-free ancestor, and each is pinned so status keeps flagging the isolated build until a later resolution clears it.

There is an Advanced-tier equivalent at checkout time, tovio materialize <commit> --isolate, for when you want to check out one specific commit past the same gate. Reach for sync --isolate first โ€” it is the everyday form.

A promised object cannot be fetched

TVO-SYNC-005, and specific to partial clones. See the partial-clone article โ€” nothing local is lost, and it is recoverable.

Push refused instead

If the failure is on the way out rather than in, and the code is TVO-SYNC-006, that is lane divergence on a push-only sync. It has its own article.

Partial transfer

A connection, TLS handshake, or object transfer that did not complete is TVO-SYNC-003. Retry with backoff โ€” these are usually genuinely transient. If it never completes, check the address, that the Forge is running, and that the relay certificate still matches.

Verify what you have

tovio fsck

Reporting it

The code and which of the five checks above you ruled out. Not lane names, not paths, not the repo id.