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.

train-row
A merge request on a train is third in a queue for its target branch, and the row says so.

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:

merge-prompt

Pressing m on a merge request whose project uses merge trains:

train-prompt

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

KeyActionKeyAction
madd to the train, with the prompt aboveoopen in the browser, to remove it from the train
Enterpreview, including position and what is aheadrrefresh, 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.

Requires GitLab Premium or Ultimate

Merge trains are a paid GitLab feature. On an instance without them the column stays empty and the merge prompt keeps its ordinary wording.