sapling/eden/mononoke
Alex Hornby 872e95b8da mononoke: walker: avoid duplicate fsnode visits
Summary: Avoid duplicate fsnode visits by adding state tracking for them.

Reviewed By: StanislavGlebik

Differential Revision: D21250279

fbshipit-source-id: c37f7c5f20b07a15a809171f91bd12649f4f818d
2020-04-27 01:06:59 -07:00
..
apiserver memcache: don't panic if Memcache fails to initialize 2020-04-02 10:07:23 -07:00
benchmark remove unneeded 'static lifetimes 2020-04-22 02:49:01 -07:00
blobimport_lib/src mononoke: blobimport: Print bookmark names as strings in blobimport 2020-04-21 07:08:50 -07:00
blobrepo Bump tokio to 0.2.13 2020-04-15 12:18:00 -07:00
blobrepo_utils Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
blobstore mononoke: remove boilerplate with auto_impl 2020-04-24 04:09:30 -07:00
blobstore_sync_queue Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
bonsai_git_mapping Bump tokio to 0.2.13 2020-04-15 12:18:00 -07:00
bonsai_globalrev_mapping Bump tokio to 0.2.13 2020-04-15 12:18:00 -07:00
bonsai_hg_mapping third-party/rust: Turn off async-trait/support_old_nightly 2020-04-02 17:01:24 -07:00
bookmarks mononoke: add deleted manifest to the warm bookmarks cache 2020-04-21 04:32:56 -07:00
cache_warmup/src mononoke/cache_warmup: conditionally use microwave for faster warmup 2020-03-05 11:57:43 -08:00
changesets mononoke: add a test backfill derived data 2020-04-07 08:44:25 -07:00
cmdlib mononoke: Add get_config_path helper to cmdlib 2020-04-23 07:43:37 -07:00
cmds mononoke: small refactoring before introducing Cleaner for unodes 2020-04-24 10:52:58 -07:00
commit_rewriting mononoke: [RFC] migrate bits of validation code to Small/Large newtypes 2020-04-20 11:30:05 -07:00
common mononoke/sql_construct: provide more context when failing to create connections 2020-04-16 09:46:14 -07:00
config_structs mononoke/configerator structs: add shipit and autocargo configs for all configerator structs 2020-04-24 04:33:53 -07:00
derived_data mononoke: add dry-run mode for backfilling fsnodes 2020-04-24 04:05:53 -07:00
edenapi_server/src mononoke: fail with non-zero exit code in serve_forever if failure happened 2020-04-17 14:57:56 -07:00
fastreplay/src mononoke/permission_checker: introduce MembershipChecker and its first usage in hooks 2020-04-23 03:44:09 -07:00
filenodes third-party/rust: Turn off async-trait/support_old_nightly 2020-04-02 17:01:24 -07:00
filestore Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
git third-party/rust: Turn off async-trait/support_old_nightly 2020-04-02 17:01:24 -07:00
gotham_ext/src gotham_ext: add into_handler_response method to HttpError 2020-04-23 13:58:04 -07:00
hgcli rust-shed: add hostname crate to the shed 2020-03-20 08:56:12 -07:00
hgproto remove old comment and attribute 2020-04-25 13:55:43 -07:00
hook_tailer mononoke/permission_checker: introduce MembershipChecker and its first usage in hooks 2020-04-23 03:44:09 -07:00
hooks mononoke/permission_checker: introduce MembershipChecker and its first usage in hooks 2020-04-23 03:44:09 -07:00
lfs_import_lib/src mononoke: update internals to Bytes 0.5 2020-02-27 08:08:28 -08:00
lfs_protocol lfs_protocol: move LFS MIME type into protocol crate 2020-04-23 13:58:04 -07:00
lfs_server/src lfs_protocol: move LFS MIME type into protocol crate 2020-04-23 13:58:04 -07:00
manifest mononoke: add dry-run mode for backfilling fsnodes 2020-04-24 04:05:53 -07:00
megarepolib Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
mercurial mononoke: remove unused impls 2020-04-24 05:27:10 -07:00
metaconfig mutationstore: a store for commit mutation information 2020-04-23 08:58:09 -07:00
microwave mononoke: add repo name in BlobRepo 2020-03-10 08:32:33 -07:00
mononoke_api/src scs_server: add commit_history to return the history of commits 2020-04-23 07:14:49 -07:00
mononoke_types mononoke_types: add Sha256 stubs 2020-04-08 11:58:08 -07:00
mutable_counters admin: add a subcommand to manipulate mutable_counters 2020-04-16 03:19:44 -07:00
newfilenodes Bump tokio to 0.2.13 2020-04-15 12:18:00 -07:00
permission_checker mononoke/permission_checker: introduce MembershipChecker and its first usage in hooks 2020-04-23 03:44:09 -07:00
phases Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
pushrebase Bump tokio to 0.2.13 2020-04-15 12:18:00 -07:00
reachabilityindex third-party/rust: Turn off async-trait/support_old_nightly 2020-04-02 17:01:24 -07:00
repo_client mononoke: fix how infinitepush is detected 2020-04-22 05:13:36 -07:00
revset Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
scs_server/src scs_server: add commit_history to return the history of commits 2020-04-23 07:14:49 -07:00
segmented_changelog/src segmented_changelog: add Dag struct and location_to_name functionality 2020-03-27 13:48:52 -07:00
server mutationstore: add logging and perf counters 2020-04-23 08:58:09 -07:00
sshrelay Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
tests mononoke: walker: add fsnodes derivation to test blobimport 2020-04-24 04:29:52 -07:00
unbundle_replay mononoke/permission_checker: introduce MembershipChecker and its first usage in hooks 2020-04-23 03:44:09 -07:00
walker/src mononoke: walker: avoid duplicate fsnode visits 2020-04-27 01:06:59 -07:00
Cargo.toml mutationstore: a store for commit mutation information 2020-04-23 08:58: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