Code review and a merge train for Git

Review the change.
Test what lands.

Review a stack one commit at a time. Keep approvals through unchanged rebases. Land what passed your required checks.

From a stack of commits to a tested landingChanges are reviewed separately. The train builds candidate 4f82ac1, receives a passing check for it, and lands that same commit on main.THE LANDING PATHCHANGE → CANDIDATE → MAINCHANGE #142CHANGE #143main4f82ac14f82ac1CHECK PASSEDLANDED
Fits your Git workflow
  • Git & jj
  • GitHub, Gitea & Forgejo
  • SSH & HTTPS remotes

01 / Workflow

A straight line from
commit to main.

Each commit has its own review. Dependencies keep landing in order.

01Send a stack

Send with Git or jj. Each commit gets its own review.

02Review each change

Review a focused diff. Keep approvals when a rebase leaves the patch unchanged.

03Land in order

Land when ready. The train waits for required checks and advances the target in order.

Review to landingmain
01 / Stackberrit send
02 / Review#142 approved
03 / Train4f82ac1 landed
One change per commitFast-forward

02 / Merge train

Less repeat CI.
Land sooner.

Check what changed, test ahead, and keep passing results when the landing candidate stays the same.

Explore the merge train
Merge train / mainWindow 02
src/api/**api-tests
  1. #1424f82ac1 Passed
  2. #143ab79d20 Passed ahead
Landed on main4f82ac1
ab79d20 keeps its check result while the candidate stays unchanged.

03 / For teams

One path to main.

People and agents follow the same review and landing rules.

When people write it

Send a stack from Git or jj and review one commit at a time.

When agents help write it

Give agent-written patches the same approvals and checks.

Your rules decide what can land.

Set whose approvals count for each path. Independent changes can move while other reviews are open. Choose Land when ready or Hold.

Approval & landing
  • auth/Security reviewWaiting
  • docs/ApprovedLand when ready
Attention
See whose turn it is and why.
Dependencies
Set landing order across repositories in your organisation.

04 / Pricing

Same features.
Two billing options.

All current features in both plans.

Monthly

€10 + applicable tax

Per user, per month, per organisation.

Get started

Annual

€20 less per year

€100 + applicable tax

Per user, per year, per organisation.

Get started

Annual savings compared with 12 monthly payments, before tax.

05 / FAQ

Good to know.

Do we have to move our repositories?

Connect Gitea, Forgejo, GitLab, or another writable remote over SSH or HTTPS. Plain HTTP works locally. Use the GitHub App for deeper integration. A dedicated GitLab integration is coming soon, and Gerrit-style review pushes are in the works.

What happens if the target branch moves?

Berrit rebuilds the landing candidate and waits for its checks. Approvals survive an unchanged patch, and conflicts return to the author.

Can we keep our CI?

Yes. Your CI runs the jobs and reports results to Berrit.

Can we use GitHub pull requests?

Yes. Import a same-repository pull request or use the GitHub App to mirror eligible changes. Berrit’s approval rules govern landing.

How is pricing calculated?

€10 monthly or €100 annually per user, per organisation, plus applicable tax. Both billing options include the same features.

Berrit / Get started

Bring your next change.

Get started