Hasty Briefsbeta

The Origin Story of Merge Queues

19 hours ago
  • #merge-queues
  • #software-development
  • #continuous-integration
  • Merge queues evolved from early scripts like Bors and Homu to modern solutions like GitHub and GitLab's built-in features.
  • The 'Not Rocket Science' Rule by Ben Elliston in the early 2000s laid the foundation for merge queues by ensuring a repository always passes tests.
  • Bors, created by Graydon Hoare for Rust in 2013, automated merging by testing PRs in a temporary branch before promoting them to main.
  • Homu, a more general tool by Barosl Lee, extended Bors' functionality and became widely adopted in open-source projects.
  • Bors-NG, a modern successor to Homu, offered improved speed and usability, becoming popular before GitHub's native merge queue.
  • Industry solutions like Bulldozer, Mergify, and Kodiak emerged in the late 2010s to automate PR merging and updating.
  • GitLab introduced Merge Trains in 2019, providing built-in merge queue functionality for GitLab users.
  • Large companies like Uber, Shopify, and Strava developed internal merge queue systems to manage high-velocity code integration.
  • GitHub's Merge Queue, launched in 2023, brought native merge queue support, validating the concept and making it mainstream.
  • Merge queues have become essential for maintaining stable main branches in modern software development, evolving from niche tools to standard practice.