|
|
|
|
|
by indygreg2
2879 days ago
|
|
Obviously not applicable to Linux since it is hosted on Git, but Mercurial has this "clone bundles" feature built in. If you e.g. `hg clone https://hg.mozilla.org/mozilla-central` to clone the main Firefox repo, your client will connect to a CDN to download the pre-generated bundle then go back to the server to pull recent changes. Bitbucket also has the feature deployed. After I deployed this feature on hg.mozilla.org, server-side CPU load dropped by like 90%. And with IP filtering to detect clients connecting from AWS that allows us to serve URLs direct from S3 (as opposed to going through a CDN), the total bill is like $20/mo for CI usage (S3 intra-region data transfer is free). Literally thousands of hours of CPU-core time and >500 TB/mo offloaded from the Mercurial servers. |
|
It’d make a lot of sense to integrate it if it’s possible, I think. The design direction of Git is somewhat subservient to the needs of Linux (i.e. Git is a thing Linus made to replicate BitKeeper, but it also was made to scratch—and continues to scratch—many of the LKML itches re: their unique patch-management workflows.)
So if Linux is having to do something re: “SCM ops” tooling, that could be better solved in Git, then why not solve it in Git?
(If anyone who was responsible for this Kernel.org Git bundle setup wants to chime in, that’d be interesting; I assume they likely considered making this a Git thing first, so there might be a good reason why it’s not.)