TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Launch HN: MergeQueue (YC S21) – Automate rebasing and merging for your codebase

122 pointsby sprihaalmost 4 years ago
Hi HN, we’re Spriha and Ankit, founders of MergeQueue (<a href="https:&#x2F;&#x2F;mergequeue.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mergequeue.com&#x2F;</a>). We enable automatic merges for your Github Pull Requests, based on configurable rules you can set for each repo. These automated merges ensure you never have failing builds on master&#x2F;main and save time on rebasing your feature branches.<p>If you have a monorepo where a big engineering team is regularly merging changes, the stability of the main branch degrades considerably. This happens because more engineers working on the same codebase introduce incompatible changes, causing builds to break even though their commits pass independently. Here’s an example: <a href="https:&#x2F;&#x2F;blog.mergequeue.com&#x2F;managing-github-merges-for-high-output-engineering&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.mergequeue.com&#x2F;managing-github-merges-for-high-...</a>.<p>Github has a setting to restrict branches to be up to date before merging, but turning on that setting ends up forcing a rebase-athon within the team. This results in wasted time, and all too often, a stressful scramble to figure out what changes broke the build.<p>We had this problem in our previous company where we looked for a solution to automate the process. We found this paper [1] published by Uber to manage monorepos at scale and we built a lightweight version of that internally. It immediately eliminated the overhead of keeping builds healthy. After that, we decided to build a public version to save others from re-inventing the wheel.<p>We spoke to engineers at Airbnb, Stripe, Uber, Shopify, Quora and other large companies who have internally built similar tools, but teams who need such tools the most often don’t have the bandwidth to dedicate developers to building and maintaining them.<p>MergeQueue (MQ) is a FIFO queue of Pull Requests (PRs) that works as a Github app. To use MQ as a developer, instead of merging manually, you just add a Github Label “mergequeue” to the PR. MQ then takes care of the rest: it sequentially updates or rebases the branch, monitors the configured CI checks and eventually merges the changes. If the checks fail, it will dequeue the PR, add comments describing the reason and move to the next one. For high output teams, MQ also offers batch mode to run CI in parallel batches. If you’d like to learn more, there’s a lot more here: <a href="https:&#x2F;&#x2F;mergequeue.com&#x2F;documentation" rel="nofollow">https:&#x2F;&#x2F;mergequeue.com&#x2F;documentation</a>.<p>Currently, we are also piloting a way to manage “flaky” (i.e. unreliable) tests through MQ. This integrates with your CI provider (we currently support CircleCI), analyses test results and flags the tests that fail inconsistently. When flaky tests are identified, MQ reruns the test depending on the configuration set.<p>We charge by usage in an organization, so for instance if your organization has 100 developers but only 20 of them use MQ, only those 20 will be billed. You can sign up for a free 14 day trial without a credit card. We also support single tenant or on-prem deployments, have webhooks to connect to your other apps, offer multi-queue support, and are SOC2 certified!<p>We’d love for you to try MergeQueue and give us any feedback you have. If you&#x27;ve used something similar in the past, we&#x27;re also curious to learn what problems you faced so we&#x27;re better prepared for them ourselves :)<p>[1] <a href="https:&#x2F;&#x2F;eng.uber.com&#x2F;research&#x2F;keeping-master-green-at-scale&#x2F;" rel="nofollow">https:&#x2F;&#x2F;eng.uber.com&#x2F;research&#x2F;keeping-master-green-at-scale&#x2F;</a> - discussed at the time: <i>Keeping master green at scale</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=19692820" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=19692820</a> - April 2019 (115 comments)

23 comments

eatonphilalmost 4 years ago
Really dumb question while I&#x27;m trying to decide whether to use something like git vs. CRDTs to handle version control for user changes made in an app I&#x27;m working on: why do we even use git anymore for source code version control if we want behavior like this?<p>Nobody likes merge conflicts. We all want versioning. So long as we have versions at all why isn&#x27;t the ideal interface for developing in teams something more like editing in Google docs? Why aren&#x27;t we just doing that? Why are we still using systems that produce merge conflicts?<p>Hoping for insight from folks who have either done this themselves or looked into it.<p>Edit: one particularly nice feature of Google docs over Confluence is that in Google docs I can suggest changes that is somewhat akin to branches with git. I don&#x27;t need to force my change through without review. This isn&#x27;t a natural part of CRDTs, but it sounds like the nicest source control system might be CRDTs plus branches?
评论 #27859315 未加载
评论 #27861321 未加载
评论 #27859737 未加载
评论 #27862388 未加载
评论 #27859271 未加载
评论 #27860318 未加载
评论 #27872296 未加载
评论 #27859221 未加载
h3mb3almost 4 years ago
How does this compare to Bors NG?<p><a href="https:&#x2F;&#x2F;github.com&#x2F;bors-ng&#x2F;bors-ng" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bors-ng&#x2F;bors-ng</a>
评论 #27858794 未加载
评论 #27860281 未加载
jameshushalmost 4 years ago
Perfect YC business. When an engineer made a similar solution at my previous company we celebrated him for months. This seems small but you have huge potential here, good luck! :D
jeremyisalmost 4 years ago
A previous employer that underwent a massive multi-billon dollar migration to SOA (and then folks went too far and made everything a micro-service so had to rollup some work) basically because merging became too slow into our monorail as we got to ~O(1k) engineers. We had an in-house solution like this that we used for 2-3 years (and a worse version for years before that). What a great idea to productive it!<p>IMO the SOA migration simply due to merging was such a heavy-handed solution. If we could have made our MergeQueue way better, perhaps we could have avoided that multi-billion dollar (+ the rollback work) fiasco.<p>Congrats!
评论 #27860317 未加载
joshribakoffalmost 4 years ago
Started making something similar then joined a new company (Brex) and we use <a href="https:&#x2F;&#x2F;github.com&#x2F;bors-ng&#x2F;bors-ng" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bors-ng&#x2F;bors-ng</a> which is open source and works great. It merges huge batches of PRs and can automatically bisect them if they fail CI checks to find divide and conquer and merge in fewest batches possible. It’s written in Elixir.
horse666almost 4 years ago
How does this compare to Mergify? <a href="https:&#x2F;&#x2F;mergify.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mergify.io&#x2F;</a>
karldingalmost 4 years ago
Neat! Pretty much every large company seems to have some variation of this.<p>I skimmed through your documentation, but it wasn&#x27;t clear if this would handle workflows like the Chromium&#x2F;AOSP workflows, where you have multiple repositories that are managed together via Google&#x27;s repo [0] tool to give the illusion that it is a monorepo?<p>Occasionally you may have changes that span repositories and either need to be merged in a specific order, or in a single shot all-or-nothing merge &quot;batch&quot; [1]. This dependency information would be tracked either when the changes are originally submitted together to CI or directly in the commit message.<p>Of course, this means that you potentially have a small window where repo syncs may pull a partial set of changes, but usually this is solved via something similar to what Chromium calls &quot;Sync to Green&quot; [2].<p>[0] <a href="https:&#x2F;&#x2F;gerrit.googlesource.com&#x2F;git-repo&#x2F;" rel="nofollow">https:&#x2F;&#x2F;gerrit.googlesource.com&#x2F;git-repo&#x2F;</a><p>[1] <a href="https:&#x2F;&#x2F;chromium.googlesource.com&#x2F;chromiumos&#x2F;docs&#x2F;+&#x2F;HEAD&#x2F;contributing.md#CQ-DEPEND" rel="nofollow">https:&#x2F;&#x2F;chromium.googlesource.com&#x2F;chromiumos&#x2F;docs&#x2F;+&#x2F;HEAD&#x2F;con...</a><p>[2] <a href="https:&#x2F;&#x2F;chromium.googlesource.com&#x2F;chromiumos&#x2F;docs&#x2F;+&#x2F;HEAD&#x2F;developer_guide.md#Sync-to-Green" rel="nofollow">https:&#x2F;&#x2F;chromium.googlesource.com&#x2F;chromiumos&#x2F;docs&#x2F;+&#x2F;HEAD&#x2F;dev...</a>
gschoalmost 4 years ago
How does this compare to Shipit?<p><a href="https:&#x2F;&#x2F;github.com&#x2F;Shopify&#x2F;shipit-engine" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Shopify&#x2F;shipit-engine</a>
评论 #27859305 未加载
geofftalmost 4 years ago
This is the one true way to do things, of course (<a href="https:&#x2F;&#x2F;graydon2.dreamwidth.org&#x2F;1597.html" rel="nofollow">https:&#x2F;&#x2F;graydon2.dreamwidth.org&#x2F;1597.html</a>), but besides the &quot;why not use bors&#x2F;homu&quot; question - what prevents GitHub or GitLab from building this in?<p>I hope we get to a world one day where a standard feature of all pull-request-ish platforms is that merges end up on a task queue, CI runs on the merge, and the merge only happens if CI passes. It doesn&#x27;t seem like a terribly difficult feature to build in and the potential UX seems much nicer - e.g., just like there&#x27;s &quot;squash and merge&quot; and &quot;rebase and merge&quot; buttons and the repo admin can require them over normal merges, there could be an &quot;enqueue for merge&quot; &#x2F; &quot;enqueue for rebase&quot; &#x2F; etc. button.<p>(Maybe your goal is to get us to that world via acquisition, which would be great!)
评论 #27888246 未加载
评论 #27863450 未加载
epagealmost 4 years ago
Excited to see more stuff in this space. I&#x27;ve previously done some investigation into the various options [0]<p>Questions:<p>- Why have your own pre-conditions rather than relying on Github&#x27;s built-in conditions and Status?<p>Ideas<p>- Autosquash fixup commits. I like to have multi-commit PRs that get merged into main. I&#x27;d like to leave my fixup commits up to make it easier for reviewers to see fixes and then have the tool doing the merge fix them up for me rather than doing yet another CI run for the fixups<p>- What about AzDO&#x27;s semi-linear rebase option? This rebases a branch and then creates a merge-commit, keeping history linear<p>[0] <a href="https:&#x2F;&#x2F;epage.github.io&#x2F;dev&#x2F;submit-queue&#x2F;" rel="nofollow">https:&#x2F;&#x2F;epage.github.io&#x2F;dev&#x2F;submit-queue&#x2F;</a>
评论 #27863413 未加载
oracle2025almost 4 years ago
Can say from my professional experience, that this is definitely a problem worth solving.
评论 #27859740 未加载
Aitizazkalmost 4 years ago
Nice. Good luck. I am really intrigued by the flaky test detection feature as I have worked with a team member recently to built this from scratch. I’d love to learn more about what testing frameworks are you targeting. Or is it framework agnostic? Which would be very cool though
deshrajalmost 4 years ago
Congratulations on the launch. Great idea and definitely agree that this is a problem at a lot of companies.<p>Although I am curious about if there is enough market for this product. Would love to hear back any market research you guys have done before. Thanks! :)
评论 #27863430 未加载
somberialmost 4 years ago
Congrats - I totally see the value of this product and I like how you have taken the enterprise approach.<p>Asking to learn - How hard was getting SOC2 Compliance? You have an on-prem I see. Any indicative costs for that, please?
krishnadevialmost 4 years ago
Nice. Good luck. Really intrigued by the flaky test detection feature as worked with a team member recently to built this from scratch. Is it framework agnostic? Which would be very cool though
polskibusalmost 4 years ago
How does it compare to GitLab&#x27;s merge train feature?
评论 #27860288 未加载
timtamboy63almost 4 years ago
MergeQueue is phenomenal. We&#x27;ve been using it for a few months now and it&#x27;s been great for keeping PRs green and helping merge quickly.
评论 #27858302 未加载
sdesolalmost 4 years ago
I&#x27;m not your competitor, but I am trying to make software metrics a good thing for everybody (developers and leaders) and I&#x27;m not sure you can make a claim like the following on your landing page:<p><pre><code> &quot;Know your star developers.&quot; </code></pre> with the limited analytics that you can gather from a pull request.
评论 #27860183 未加载
neil_salmost 4 years ago
So excited to skip rebase&#x2F;merge hell! Congrats on the launch!
评论 #27859069 未加载
oaueaalmost 4 years ago
Why is the pricing per collaborator?
评论 #27858293 未加载
评论 #27858299 未加载
pulkitbalmost 4 years ago
This is great. Congrats!
parthialmost 4 years ago
Will give it a try!
评论 #27858588 未加载
jltinoalmost 4 years ago
this is awesome! congrats on the launch!!