sapling/eden/mononoke
Stefan Filip 59d8ccf690 segmented_changelog: add SegmentedChangelogManager
Summary: The SegmentedChangelogManager abstracts saving and loading Dags. This is currently used in the tailer and seeder processes. It will also be used to load dags while the server is running.

Reviewed By: krallin

Differential Revision: D24717925

fbshipit-source-id: 30dff7dfc957f455be6cf733b20449c804511b43
2020-11-11 22:53:37 -08:00
..
benchmark mononoke: update benchmark to be MononokeApp 2020-11-09 02:25:24 -08:00
blobimport_lib Added verification of generated bonsai changeset between backup and prod repos during blobimport 2020-11-10 08:46:16 -08:00
blobrepo skeleton_manifest: implement skeleton manifest derivation 2020-11-11 13:23:48 -08:00
blobrepo_utils rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
blobstore rust: update to strum 0.19 2020-11-09 10:26:47 -08:00
blobstore_sync_queue commit_rewriting: use is_empty() where possible 2020-10-04 10:03:42 -07:00
bonsai_git_mapping improve error messages for mapping length errors 2020-09-21 08:39:12 -07:00
bonsai_globalrev_mapping rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
bonsai_hg_mapping rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
bookmarks tests_utils: allow all MPaths in created commits 2020-11-11 13:23:48 -08:00
bulkops bulkops: add trait ChangesetBulkFetch 2020-10-08 09:43:46 -07:00
cache_warmup convert ManifestOps to new style futures 2020-10-23 06:42:35 -07:00
changesets rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
cmdlib Added verification of generated bonsai changeset between backup and prod repos during blobimport 2020-11-10 08:46:16 -08:00
cmds Added verification of generated bonsai changeset between backup and prod repos during blobimport 2020-11-10 08:46:16 -08:00
commit_rewriting mononoke/filestore: update fetch external API to 0.3 futures 2020-11-06 07:26:03 -08:00
common scuba: don't require static keys in log_with_msg 2020-11-11 12:40:13 -08:00
derived_data skeleton_manifest: implement skeleton manifest derivation 2020-11-11 13:23:48 -08:00
edenapi_server history: introduce separate wire types for history API 2020-10-25 18:39:34 -07:00
fastreplay mononoke: make hash_validation_percentage a tunable 2020-11-09 02:25:24 -08:00
filenodes rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
filestore mononoke/filestore: update fetch to use 0.3 futures 2020-11-06 07:26:04 -08:00
git mononoke/filestore: update exists() to futures 0.3 2020-11-06 07:26:03 -08:00
gotham_ext gotham_ext: use pin_project in SignalStream 2020-10-14 11:08:13 -07:00
hgcli rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
hgproto rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
hook_tailer mononoke: remove unnecessary .version("0.0.0") in clap App setup 2020-11-06 02:23:46 -08:00
hooks mononoke: do not allow too big commits to be landed 2020-11-06 11:24:19 -08:00
lfs_import_lib mononoke/filestore: update store to futures 0.3 2020-11-06 07:26:03 -08:00
lfs_protocol mononoke: try to compress values if they above cachelib limit 2020-06-20 01:05:54 -07:00
lfs_server mononoke/filestore: update fetch methods to return 0.3 stream 2020-11-06 07:26:04 -08:00
load_limiter Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
manifest skeleton_manifest: implement skeleton manifest derivation 2020-11-11 13:23:48 -08:00
mercurial mononoke/filestore: update fetch methods to return 0.3 stream 2020-11-06 07:26:04 -08:00
metaconfig new mode to reverse-fill bookmarks 2020-11-10 02:58:00 -08:00
microwave rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
mononoke_api tests_utils: allow all MPaths in created commits 2020-11-11 13:23:48 -08:00
mononoke_hg_sync_job mononoke/filestore: update fetch methods to return 0.3 stream 2020-11-06 07:26:04 -08:00
mononoke_types skeleton_manifest: implement skeleton manifest derivation 2020-11-11 13:23:48 -08:00
mutable_counters rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
newfilenodes rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
permission_checker bypassing hooks for members of scm 2020-10-29 10:14:25 -07:00
phases rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
pushrebase tests_utils: allow all MPaths in created commits 2020-11-11 13:23:48 -08:00
reachabilityindex rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
regenerate_hg_filenodes mononoke: remove unnecessary .version("0.0.0") in clap App setup 2020-11-06 02:23:46 -08:00
repo_client Added verification of generated bonsai changeset between backup and prod repos during blobimport 2020-11-10 08:46:16 -08:00
repo_import mononoke: remove unnecessary .version("0.0.0") in clap App setup 2020-11-06 02:23:46 -08:00
revset rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
scs_server mononoke/filestore: update metadata to futures 0.3 2020-11-06 07:26:03 -08:00
segmented_changelog segmented_changelog: add SegmentedChangelogManager 2020-11-11 22:53:37 -08:00
server mononoke: make hash_validation_percentage a tunable 2020-11-09 02:25:24 -08:00
sshrelay rust-shed/futures_01_ext: rename futures_ext to futures_01_ext 2020-11-05 06:07:16 -08:00
tests segmented_changelog: add SegmentedChangelogManager 2020-11-11 22:53:37 -08:00
time_window_counter mononoke/lfs_server: popularity: add ODS counters, timeouts and tests 2020-07-15 03:39:23 -07:00
tunables mononoke: make hash_validation_percentage a tunable 2020-11-09 02:25:24 -08:00
unbundle_replay mononoke/unbundle resolver module: replace 0.1 future_ext::BoxStream usage with 0.3 2020-11-03 13:38:09 -08:00
walker mononoke: generate walker EdgeType::outgoing_type() 2020-11-11 02:27:53 -08:00
Cargo.toml skeleton_manifest: implement skeleton manifest derivation 2020-11-11 13:23:48 -08:00
README.md mononoke: add README.md and the missing pieces for supporting cargo (#13) 2020-02-13 00:12:36 -08:00

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.

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