Is my lane ready to land?
health, land --dry-run and build-check — three different questions.
Written By Dustin
Last updated 28 minutes ago
tovio healthtovio health --into develophealth answers "what would stop this landing" without changing anything. It reports the landing state, the conflicts that block it, how stale you are against the target, and the semantic verdict:
Change health — `feature-x` landing into `main` conflicts: none staleness: 4 commit(s) behind main semantic: clean landable: yes (7 changed file(s) merge cleanly)It has five verdicts: nothing to land (you are on the target), nothing to land (the lane is unborn), fast-forward, already contained in the target, and a clean or conflicted three-way merge. A conflicted verdict lists each conflict's kind and path.
health is about the merge, not your desk. It does not tell you whether the working copy is clean — that is tovio status.
The full trace
tovio health --explaintovio health --explain --format html > health.htmlSwaps the summary for the complete merge-process trace: base selection, per-file algebra, and each gate's checklist. Same renderer as tovio land --explain.
The conflict-free gate
tovio build-checktovio build-check developExits 0 if the named lane's tip carries no unresolved conflict objects, and TVO-CONFLICT-010 listing the offending paths if it does. This is the VCS-layer buildability gate a protected lane can require — it does not compile anything or run your tests, and there is no configuration slot for a build command yet.
Per change, not per lane
tovio change health chg:a3f7b2Reports landability for one change, which is what you want when you have a stack and only the bottom of it is ready.
The quick versions
tovio status --conflictstovio conflictstovio land --dry-runland --dry-run is the closest thing to a rehearsal: it runs the same assessment the real land would and advances nothing.
If it is stale
tovio rebase --onto mainReparents your work onto the current target. Change ids are preserved.