Docs
Branch workflow
Feature branches get an isolated shadow project, so unfinished strings never reach the shared project until the branch is merged and promoted.
View as markdown · for agents and copy-paste
Translation files cause merge conflicts because every branch edits the same few files. Rodarion solves that by following your git branches.
How it works
- On the default branch, the CLI syncs with the central project.
- On any other branch, the CLI detects the branch name and syncs with a shadow project: a copy of the central project that belongs to that branch only. New keys, changed texts and machine translations stay there.
- When the branch is merged,
rodarion promote --branch <name>folds the shadow into the central project, machine-translates what is still missing and downloads the result. - When a branch is abandoned,
rodarion discarddeletes its shadow.
Nobody has to remember the promote step: rodarion ci writes a workflow that runs it on
every merge. See CI.
Who wins on a conflict
On a feature branch, local wins for keys that are new on that branch. If you write or
correct a translation for such a key in your local files, rodarion up pushes it into the
shadow and machine translation leaves it alone.
Two things are never overwritten from a branch:
- keys that already exist in the central project, so a stale local file can never replace a shared translation;
- any translation marked approved.
Change those in the app or with rodarion translate.
Trying it without touching your default branch
Set RODARION_CENTRAL_BRANCH=<branch> in .env to make any branch act as the central one.
That is how an agent rehearses the full branch, merge and promote cycle in a trial without a
commit ever reaching your real default branch.