Scaling merge-ort across GitHub
Blog post from GitHub
GitHub has enhanced its merging and rebasing processes by adopting Git's new merge strategy, merge-ort, which improves performance and correctness without requiring a working directory. This strategy was integrated to address limitations of the previous libgit2-based method, which sometimes failed to meet user expectations for correctness compared to local Git command line operations. The implementation, rolled out via controlled experiments using the Scientist framework, demonstrated significant speed improvements, particularly in large repositories, with notable reductions in resource usage. Additionally, GitHub has employed the git-replay subcommand to optimize rebases, achieving substantial efficiency gains. While the current focus has been on merges and rebases, GitHub plans to further explore the use of merge-ort for squashing, reverting, and potentially unlocking new product features. The success of these efforts is credited to both the internal GitHub team and the contributions of the Git open-source community, especially Elijah Newren, who played a key role in developing merge-ort.