Oxidizing Mercurial (Using Rust)
markand at malikania.fr
Mon Dec 4 04:35:04 EST 2017
On Sun, Dec 03, 2017 at 11:31:54PM -0800, Gregory Szorc wrote:
> A number of people have expressed an interest in using Rust in Mercurial.
> (Facebook is already using Rust for the Mononoke Mercurial server and
> extensions in the hg-experimental repo. But we still don't have any Rust in
Rust is a good language, it is a good idea to get out from python in the
> I recently typed up https://www.mercurial-scm.org/wiki/OxidationPlan. It
> attempts to capture everything concerning using Rust with core Mercurial. A
> lot of the content was discussed at the 4.4 Sprint. But other content is
> new. So even if you attended the Sprint, it is probably worth reading. By
> all means, please edit the content where it needs editing!
Some notes before editing the wiki:
If hg becomes a Rust binary and we want Mercurial to be a self-contained
application, we'll need to overhaul our packaging mechanisms on all
If building a rust application, one must use cargo anyway.
We could provide a self-contained archive file containing hg binary,
libpython27.so, and any other dependencies. We could also provide rpm, deb,
etc packages for popular distributions. These would be self-contained and
not dependent any many (any?) other packages. Our biggest concern here is
libc compatibility. That can be solved by static linking, compiling against
a sufficiently old (and compatible) libc, or providing distro-specific
Please don't, it's the the business of a developer to write a package for each
trillions of distributions out there. I would be okay to say that for flatpak
but not for native package management.
I just have one question though:
Once the most priorities are rewritten in Rust, will all the rest be
converted as well? I mean, having one day a 100% rust Mercurial?
More information about the Mercurial-devel