Berrit workflow

Merge train

A merge train is an ordered queue for a target branch. Berrit rebases each ready change and waits for required CI results on the commit it will land.

Train / main

Test window 02
  1. 4f82ac1 Passed
  2. ab79d20 Passed ahead
Landed on main4f82ac1
Candidate and landed commit share the same hash.

Choose which checks apply and when

Scope checks to changed paths. Push checks apply on submission. Approved checks apply when review passes. Train checks apply to the landing candidate.

Test ahead and land in order

Increase the train window to test several candidates at once. They still land in order. A passing result carries forward only while its candidate commit stays unchanged.

Send a failing change back to its author

A failed required train check sends the change back to its author. Dependent entries leave with it. The train can rebuild independent changes and continue.

Put a change on the train.

Get started