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
Type Name Latest commit message Commit time
Failed to load latest commit information.
apiserver mononoke: fix config usages for apiserver Dec 6, 2018
async-compression async-compression: re-add support for zstd decompression with warnings Sep 7, 2018
asyncmemo rust/stats: don't require users to import lazy_static Dec 2, 2018
blobrepo add get_bookmarks api for blobrepo Dec 13, 2018
blobrepo_utils mononoke: pass CoreContext down to blobstore Dec 4, 2018
blobstore-sync-queue multiplexed blobstore synchronization queue implementation Dec 12, 2018
blobstore multiplexed blobstore synchronization queue implementation Dec 12, 2018
bonsai-hg-mapping rust/stats: don't require users to import lazy_static Dec 2, 2018
bonsai-utils mononoke: pass CoreContext down to blobstore Dec 4, 2018
bookmarks mononoke: remove unused code Dec 5, 2018
bundle2-resolver tp2/rust: update tools and crates to Rust 1.31.0 Dec 7, 2018
bytes-ext add cargo build support for local development Feb 22, 2018
cache-warmup/src mononoke: pass CoreContext down to blobstore Dec 4, 2018
changesets rust/stats: don't require users to import lazy_static Dec 2, 2018
cmdlib/src mononoke: fix bookmark fetching Dec 14, 2018
cmds mononoke: admin: Remove ability to build fbpkgs Dec 11, 2018
common mononoke: efficient search of max generation in NodeFrontier Nov 30, 2018
eden_server Add Cargo.toml files to crates. (#7) Jul 10, 2018
failure_ext tp2/rust: update to rust-1.30.0 Nov 7, 2018
filenodes mononoke: remove unused code Dec 5, 2018
futures-ext rust-crates-io: add crossbeam to tp2 Oct 9, 2018
hgcli mononoke: do not fail if same certificate was added twice Sep 27, 2018
hgproto hgproto: use CoreContext instead of Logger Dec 6, 2018
hook_tailer mononoke: Remove mention of configrepo from arg parsing Dec 11, 2018
hooks mononoke: pass CoreContext down to blobstore Dec 4, 2018
mercurial-bundles hgproto: use CoreContext instead of Logger Dec 6, 2018
mercurial-types multiplexed blobstore synchronization queue implementation Dec 12, 2018
mercurial mononoke: remove unused code Dec 5, 2018
metaconfig mononoke config: make fbsource readonly, disables unbundle requests Dec 6, 2018
mononoke-api/src mononoke: pass CoreContext down to blobstore Dec 4, 2018
mononoke-types multiplexed blobstore synchronization queue implementation Dec 12, 2018
netstring/src rust/netstring: move encode and decode into separate modules. Sep 13, 2018
phases phases support: mysql add/get Dec 10, 2018
py_tar_utils move tar_utils.py from update_rust into an open sourceable location Sep 14, 2017
reachabilityindex tp2/rust: update tools and crates to Rust 1.31.0 Dec 7, 2018
ready_state/src server: split server binary crate into 4 separate crates Jul 17, 2018
repo_client repo_client: pass scuba logger inside CoreContext Dec 6, 2018
revset mononoke: migrate SetDifferenceNodeStream to use ChangesetId Dec 13, 2018
server mononoke: Remove mention of configrepo from arg parsing Dec 11, 2018
sshrelay rust/netstring: convert from error-chain to failure Sep 13, 2018
tests mononoke: cleanup tests Dec 11, 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.