Land only part of a change
tovio change split, for when half your work is ready.
Written By Dustin
Last updated 28 minutes ago
tovio change split --paths 'src/parser/**'tovio change split chg:a3f7b2 --paths 'docs/**' --paths 'README.md'Carves the files matching --paths into a fresh ready sub-change that can land on its own, and leaves the rest as the remainder. --paths is repeatable and at least one is required. Omit the id to split your current change.
The result is a three-link chain: parent → ready → remainder. The remainder keeps the original change's id — so its review history stays attached — and stacks on top of the new sub-change, which gets a fresh chg: id of its own.
When you want this
- A change grew and only part of it is reviewed.
- A bug fix got tangled with a refactor and the fix should ship now.
- A reviewer approved some files and questioned others.
Partial landing is always split-then-land. There is no per-file cherry-pick.
What it refuses
TVO-OP-013— the named change is not a lane tip. It has committed descendants and splitting it would orphan them, so split the tip instead.TVO-OP-014— the target is a merge commit; splitting one would drop its second-parent lineage.TVO-OP-015— the partition is degenerate: the globs matched none of the change's files, or all of them. A split must produce two non-empty parts.tovio diffshows what it touched.
Check before landing
tovio change health <new-id>tovio land --dry-runSplitting by path can produce a piece that is coherent to the merge algebra but does not compile on its own. change health tells you it is landable; only your own build tells you it is correct.
Undo
tovio undo