Merge trains
A merge request on a merge train is approved, green, and not merged. labdash shows its place in the queue in the blockers column, and changes the merge prompt to match what pressing merge will do.
The train position
train 3/7 in the blockers column means third of seven in the queue for that target branch. It answers the three questions the state raises:
- Is it going to merge? Yes, unless something ahead of it fails.
- When? After two more.
- Do you need to do anything? No.
The position comes back with the merge request itself, as mergeTrainIndex and mergeTrainsCount, so the column costs no extra request.
The merge prompt
Pressing m on an ordinary merge request:
Pressing m on a merge request whose project uses merge trains:
The wording changes because the outcome changes. The prompt names the queue and the number of merge requests ahead.
Merge-train pipelines
GitLab creates several kinds of pipeline for the same commit: a branch pipeline, a merged-result pipeline, and a merge-train pipeline. They carry different refs and mean different things, so the pipelines view distinguishes them in the row rather than blending them into one list.
What you can do
| Key | Action | Key | Action |
|---|---|---|---|
| m | add to the train, with the prompt above | o | open in the browser, to remove it from the train |
| Enter | preview, including position and what is ahead | r | refresh, because positions move |
Watching a train
The column and the prompt change by themselves on a project that uses trains. To keep a train on screen, press b to the group, f and train:true, then P to hold it as a tab called On the train.
Merge trains are a paid GitLab feature. On an instance without them the column stays empty and the merge prompt keeps its ordinary wording.