> I think switching to `git merge-tree` would provide you _much_ bigger benefits. Supporting evidence: we have an automerge pipeline running on our gigantic monolith at Salesforce to keep some shared branches automatically up-to-date with their upstream. We first built it with a version of Git older than 2.38, and we were doing checkouts and running good old 'git merge' and 'git push' commands. We didn't measure since it wasn't in production yet, but from memory, each merge could take maybe 30s to a minute, the checkouts could be really heavy sometimes. And of course, after our initial fetch (which we still do of course), there was also an incompressible multi-minute initial checkout. We updated our pipeline to run Git 2.39, and we switched to doing no checkout and running 'git merge-tree', followed by 'git commit-tree', and then 'git update-ref'. Now, each of those is about 5 seconds, including re-fetching the branches before starting in case they very recently changed. It made a gigantic difference to us, thanks a lot to everyone who worked on this.