Blog Product How visualization improves the GitLab merge train experience
Published on: July 25, 2024
4 min read

How visualization improves the GitLab merge train experience

Merge train visualization lets users closely track merge train activities and take actions with a better understanding of the impact on other MRs in the queue.

train - visualize - cover

GitLab's merge train feature on the DevSecOps platform has worked wonders for organizations looking for a solution to automatically manage conflicts among different merge requests that are merged in close proximity to each other. Merge trains support all merge methods and ensure all MRs work together, which saves time and reduces the stress of breaking the default branch, especially for teams dealing with long build times or a small fleet of runners. Merge trains also alleviate some of the burden on developers who have to track the progress of other MRs before pushing the "Merge" button.

Despite the benefits of a merge train, without having a UI to visualize its inner workings, users find it hard to trust the process. Sometimes it is difficult to distinguish failures caused by user actions from those due to flaky runs.

Moreover, the lack of visibility into what else is queued before or after a particular MR has made users less confident when taking actions such as merging immediately or removing MRs from the merge train.

To address this gap in user experience, we are introducing merge train visualization in GitLab (Premium and Ultimate tiers) for better visibility into and tracking of the merge train queue.

Merge train visualization

Based on findings from user research and feedback, we have defined a set of requirements for the first iteration of this feature. Here’s what you can expect.

View merge trains

Currently, when a merge request is added to the train, a link to the merge train details page is surfaced on the pipeline widget.

Merge train running

View list of MRs queued in a train

With the new merge train visualization, users can see a list of all MRs queued in the train. This transparency helps developers understand the order of merges and anticipate potential conflicts or issues. Knowing what is queued provides clarity and allows for better planning and coordination among team members.

List of MRs queued in the train

View list of MRs already merged by the train

In addition to seeing what is queued, users can also view a list of MRs that have already been successfully merged by the train. This historical context is valuable for tracking progress and understanding the sequence of changes that have been integrated into the default branch.

List of merged MRs in the train

Remove a merge request from the train straight from visualization

The new visualization also enables quick actions. The first action implemented is removing an MR from the merge train. This streamlined workflow reduces the time and effort required to manage merge trains, making it easier to respond to issues as they arise and maintain a smooth CI/CD pipeline.

Remove a merge request screen

The benefits of merge train visualization

Merge train visualization has the following benefits:

  1. Enhanced transparency and trust
  • By visualizing the merge train, GitLab provides users with the transparency they need to trust the system. Understanding what is happening within the merge train reduces uncertainty and builds confidence in the automated process.
  1. Improved efficiency and collaboration
  • Teams can work more efficiently by having a clear view of the merge train. Developers can better coordinate their efforts, avoid redundant work, and quickly address issues. This collaborative approach ensures smoother and faster integration of changes.
  1. Reduced risk of failures
  • With visibility into the merge train, users can identify and address potential conflicts or failures early. This proactive approach minimizes the risk of breaking the default branch, leading to more stable and reliable builds.

What’s next?

As we learn more about how users interact with the merge train visualization, we intend to add more capabilities to the list view. Early ideas include displaying estimated time to merge, ability to re-order, and displaying removed merge requests from the train. If you have ideas that you want to share, don’t forget to leave a comment on our feedback issue.

We believe that the merge train visualization will significantly enhance the user experience for developers using GitLab. By providing a clear and actionable view of the merge train, we aim to make the merge process more transparent, efficient, and reliable.

Sign up for a free 30-day trial of GitLab Ultimate to test-drive merge train visualization.

We want to hear from you

Enjoyed reading this blog post or have questions or feedback? Share your thoughts by creating a new topic in the GitLab community forum. Share your feedback

Ready to get started?

See what your team could do with a unified DevSecOps Platform.

Get free trial

Find out which plan works best for your team

Learn about pricing

Learn about what GitLab can do for your team

Talk to an expert