A Mercurial source control server, specifically designed to support large monorepos.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
apiserver add thrift client Aug 19, 2018
async-compression async-compression: replace tokio_core with tokio::runtime Jul 17, 2018
asyncmemo Add travis-CI integration by adding .travis.yml file. Jul 26, 2018
blobrepo clean up HgBlob and HgBlobHash Aug 19, 2018
blobrepo_utils mononoke: use ChangesetId in Changesets Aug 6, 2018
blobstore Make all bindings fully exception-safe Aug 7, 2018
bonsai-hg-mapping mononoke: revert D8959535 Aug 16, 2018
bonsai-utils bonsai-utils/diff: add ChangedReusedId state Jul 31, 2018
bookmarks store bonsai changesets in bookmarks instead of hg changesets Aug 15, 2018
bundle2-resolver clean up HgBlob and HgBlobHash Aug 19, 2018
bytes-ext add cargo build support for local development Feb 22, 2018
cache-warmup/src blobrepo: add get_filenode method to simplify filenode access Aug 10, 2018
changesets mononoke: revert D8959535 Aug 16, 2018
cmdlib/src clean up HgBlob and HgBlobHash Aug 19, 2018
cmds clean up HgBlob and HgBlobHash Aug 19, 2018
common Back out "Reuse pylz4 encoding between hg and Mononoke into a separat… Aug 8, 2018
docs CODEMOD: rename mercurial::Parents to HgParents Apr 16, 2018
eden_server Add Cargo.toml files to crates. (#7) Jul 10, 2018
failure_ext rust/failure_ext: move slogkv into submodule Aug 20, 2018
filenodes mononoke: revert D8959535 Aug 16, 2018
futures-ext mononoke: revert D8959535 Aug 16, 2018
hgcli Futures split Stats into FutureStats and TimedStats Aug 17, 2018
hgproto gettreepack: handle the depth parameter being send by client Aug 17, 2018
hook_tailer repo_client: Arc<BlobRepo> -> BlobRepo Aug 16, 2018
hooks Implement file length function for file hooks Aug 14, 2018
hooks_old/src mononoke: use ChangesetId in Changesets Aug 6, 2018
mercurial-bundles clean up HgBlob and HgBlobHash Aug 19, 2018
mercurial-types clean up HgBlob and HgBlobHash Aug 19, 2018
mercurial clean up HgBlob and HgBlobHash Aug 19, 2018
metaconfig cmdlib: switch from BlobRepo to MononokeRepo Aug 16, 2018
mononoke-api/src get/generate hg changeset from bonsai changeset Jul 31, 2018
mononoke-types Derive Abomonation for all interesting types Aug 7, 2018
netstring/src 'Re-sync with internal repository' Jul 26, 2018
py_tar_utils move tar_utils.py from update_rust into an open sourceable location Sep 14, 2017
reachabilityindex/src Refactor `SkiplistIndex` to handle large depth indexing Aug 14, 2018
ready_state/src server: split server binary crate into 4 separate crates Jul 17, 2018
repo_client/src Add lookup support for bookmarks Aug 28, 2018
revset mononoke: stack pushrebase Aug 17, 2018
server Futures split Stats into FutureStats and TimedStats Aug 17, 2018
sshrelay Add Cargo.toml files to crates. (#7) Jul 10, 2018
storage Add Cargo.toml files to crates. (#7) Jul 10, 2018
tests Add lookup support for bookmarks Aug 28, 2018
vfs Add Cargo.toml files to crates. (#7) Jul 10, 2018
.gitignore add .gitignore Mar 13, 2018
.travis.yml Add travis-CI integration by adding .travis.yml file. Jul 26, 2018
CONTRIBUTING.md Initial commit Jul 28, 2017
Cargo.toml Restore cachelib blob caching Aug 7, 2018
LICENSE Initial commit Jul 28, 2017
README.md mention in README that Mononoke supports Mercurial Jul 28, 2017
packman.yml packman config file for admin tool Jun 5, 2018
rustfmt.toml updates for rustfmt 0.3.4 Jan 5, 2018

README.md

Mononoke

Mononoke is a next-generation server for the Mercurial source control system, meant to scale up to accepting thousands of commits every hour across millions of files. It is primarily written in the Rust programming language.

Caveat Emptor

Mononoke is still in early stages of development. We are making it available now because we plan to start making references to it from our other open source projects such as Eden.

The version that we provide on GitHub does not build yet.

This is because the code is exported verbatim from an internal repository at Facebook, and not all of the scaffolding from our internal repository can be easily extracted. The key areas where we need to shore things up are:

  • Full support for a standard cargo build.
  • Open source replacements for Facebook-internal services (blob store, logging etc).

The current goal is to get Mononoke working on Linux. Other Unix-like OSes may be supported in the future.