sapling/eden/mononoke
Viet Hung Nguyen 700a9ae974 mononoke/repo_import: replace bonsai_changesets with their ids
Summary: This diff refactors the tool to use changeset_ids instead of changesets, since the functionalities of the tool always use the ids over the changesets. For process recovery (next steps) it's more ideal to save the changeset_ids, since they are simpler to store. However, if we used changesets in the tool, we would need to load them with the saved ids just to only use the ids throughout the process. Therefore, this loading step becomes redundant and we should simply use the ids.

Reviewed By: krallin

Differential Revision: D23624639

fbshipit-source-id: d9b558ebb46c0670bd09556783060f12d3a279ed
2020-09-11 03:10:27 -07:00
..
benchmark blobrepo: instantiate segmented changelog as an attribute 2020-09-02 17:20:42 -07:00
blobimport_lib Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
blobrepo move existing changeset derivation logic to mercurial_derived_data 2020-09-09 07:56:32 -07:00
blobrepo_utils move existing changeset derivation logic to mercurial_derived_data 2020-09-09 07:56:32 -07:00
blobstore Report write errors when scrubbing 2020-09-10 02:29:47 -07:00
blobstore_sync_queue mononoke: add context to blobstore_sync_queue get error handling 2020-08-11 02:52:44 -07:00
bonsai_git_mapping Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
bonsai_globalrev_mapping Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
bonsai_hg_mapping Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
bookmarks Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
bulkops Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
cache_warmup Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
changesets Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
cmdlib mononoke: use logical number of cpus in our runtime 2020-09-09 09:25:40 -07:00
cmds Teach mononoke_admin blobstore-fetch to save the raw contents to a file 2020-09-10 02:29:48 -07:00
commit_rewriting Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
common Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
derived_data move existing changeset derivation logic to mercurial_derived_data 2020-09-09 07:56:32 -07:00
edenapi_server edenapi_server: Add EdenAPI-specific columns to Scuba samples 2020-09-10 20:57:12 -07:00
fastreplay Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
filenodes Remove crate_root from Rust dependency info 2020-08-31 14:43:24 -07:00
filestore Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
git move existing changeset derivation logic to mercurial_derived_data 2020-09-09 07:56:32 -07:00
gotham_ext Prepare for rustfmt 2.0 2020-09-08 07:33:16 -07:00
hgcli explicitly specify features for tokio-util 2020-09-08 17:53:56 -07:00
hgproto Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
hook_tailer mononoke: allow logging censored scuba accesses to file 2020-09-04 07:37:14 -07:00
hooks Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
lfs_import_lib autocargo: regenerate 2020-05-19 16:08:40 -07:00
lfs_protocol mononoke: try to compress values if they above cachelib limit 2020-06-20 01:05:54 -07:00
lfs_server lfs_server: remove mutable borrow from ODS middleware 2020-09-10 20:57:12 -07:00
load_limiter Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
manifest Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
mercurial Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
metaconfig Prepare for rustfmt 2.0 2020-09-08 07:33:16 -07:00
microwave mononoke: allow logging censored scuba accesses to file 2020-09-04 07:37:14 -07:00
mononoke_api Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
mononoke_hg_sync_job Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
mononoke_types mononoke/mononoke_types: implement deserialize for typed_hashes 2020-09-09 11:35:38 -07:00
mutable_counters Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
newfilenodes Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
permission_checker mononoke/x509 identity: add OSS parsing of x509 certificates (#32) 2020-07-24 09:05:52 -07:00
phases bookmarks: extract BundleReplayData from BookmarkUpdateReason 2020-07-10 04:50:24 -07:00
pushrebase Prepare for rustfmt 2.0 2020-09-08 07:33:16 -07:00
reachabilityindex Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
regenerate_hg_filenodes mononoke/regenerate_hg_filenodes: make regenerate_hg_filenodes public (#39) 2020-07-30 06:50:54 -07:00
repo_client Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
repo_import mononoke/repo_import: replace bonsai_changesets with their ids 2020-09-11 03:10:27 -07:00
revset Prepare for rustfmt 2.0 2020-09-08 07:33:16 -07:00
scs_server Prepare for rustfmt 2.0 2020-09-08 07:33:16 -07:00
segmented_changelog Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
server explicitly specify features for tokio-util 2020-09-08 17:53:56 -07:00
sshrelay explicitly specify features for tokio-util 2020-09-08 17:53:56 -07:00
tests mononoke/integration: exclude the most flaky tests (#55) 2020-09-10 03:26:09 -07:00
time_window_counter mononoke/lfs_server: popularity: add ODS counters, timeouts and tests 2020-07-15 03:39:23 -07:00
tunables mononoke: add sampling for redacted accesses 2020-09-09 02:51:41 -07:00
unbundle_replay Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
walker Update formatter to rustfmt 2.0 2020-09-09 07:52:33 -07:00
Cargo.toml move function used by mercurial_derived_data into a separate crate 2020-09-09 02:48:09 -07: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