sapling/eden/mononoke
Mark Thomas d7dcd5c4c3 mononoke_types: add PrefixTrie for testing path prefixes
Summary:
Add `PrefixTrie`, which is a collection of path prefixes for testing against.

The tree is initially populated with a set of path prefixes.  Once populated,
it can be tested against using other paths.  These tests will return true if
the trie contains a prefix of that path.

Reviewed By: StanislavGlebik

Differential Revision: D23288127

fbshipit-source-id: 6096a9abc8e3a1bf5a8309123a46d321d9795f77
2020-08-25 09:14:08 -07:00
..
benchmark RFC mononoke: limit number of filenodes get_all_filenodes_maybe_stale 2020-08-12 14:33:43 -07:00
blobimport_lib mononoke: blobimport record highest imported generation number 2020-08-12 08:50:35 -07:00
blobrepo Fix bug with zero hash manifest 2020-08-24 07:34:29 -07:00
blobrepo_utils Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
blobstore mononoke: limit queue peeking from scrub blobstore when one store has missing value 2020-08-14 02:37:45 -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 pushrebase: remove OntoBookmarkParams and clean up interface 2020-08-14 02:28:55 -07:00
bonsai_globalrev_mapping pushrebase: remove OntoBookmarkParams and clean up interface 2020-08-14 02:28:55 -07:00
bonsai_hg_mapping Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
bookmarks bookmarks_movement: implement service write bookmark restrictions 2020-08-25 09:14:08 -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 Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
cmdlib mononoke_api: add HookManager 2020-08-25 09:14:07 -07:00
cmds RFC mononoke: limit number of filenodes get_all_filenodes_maybe_stale 2020-08-12 14:33:43 -07:00
commit_rewriting pushrebase: remove OntoBookmarkParams and clean up interface 2020-08-14 02:28:55 -07:00
common rust: mem::replace without using return value is just an assignment 2020-07-31 18:38:35 -07:00
derived_data don't error out when path doesn't exist 2020-07-30 03:25:01 -07:00
edenapi_server mononoke_api: use bookmarks_movement for repo_move_bookmark 2020-08-25 09:14:08 -07:00
fastreplay mononoke: add a flag to disable short history fetching 2020-08-13 10:37:40 -07:00
filenodes RFC mononoke: limit number of filenodes get_all_filenodes_maybe_stale 2020-08-12 14:33:43 -07:00
filestore mononoke: add context to alias deserialize error handling 2020-07-21 06:11:46 -07:00
git Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
gotham_ext gotham_ext: move client hostname lookup into gotham_ext 2020-07-30 10:27:35 -07:00
hgcli asyncify connection accepting 2020-08-18 09:09:14 -07:00
hgproto mononoke/{hgproto,mercurial_bundles}: eliminate O(N^2) behavior in decoding 2020-07-08 08:07:13 -07:00
hook_tailer mononoke_api: add HookManager 2020-08-25 09:14:07 -07:00
hooks metaconfig_parser: parse hooks_skip_ancestors_of 2020-08-25 09:14:08 -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 gotham_ext: move client hostname lookup into gotham_ext 2020-07-30 10:27:35 -07:00
load_limiter Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
manifest Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
mercurial mononoke: use sorted_vector_map when parsing hg manifest blob 2020-08-12 02:51:17 -07:00
metaconfig bookmarks_movement: implement service write bookmark restrictions 2020-08-25 09:14:08 -07:00
microwave RFC mononoke: limit number of filenodes get_all_filenodes_maybe_stale 2020-08-12 14:33:43 -07:00
mononoke_api bookmarks_movement: implement service write bookmark restrictions 2020-08-25 09:14:08 -07:00
mononoke_hg_sync_job mononoke_api: use bookmarks_movement for repo_move_bookmark 2020-08-25 09:14:08 -07:00
mononoke_types mononoke_types: add PrefixTrie for testing path prefixes 2020-08-25 09:14:08 -07:00
mutable_counters admin: add a subcommand to manipulate mutable_counters 2020-04-16 03:19:44 -07:00
newfilenodes RFC mononoke: limit number of filenodes get_all_filenodes_maybe_stale 2020-08-12 14:33:43 -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 pushrebase: remove OntoBookmarkParams and clean up interface 2020-08-14 02:28:55 -07:00
reachabilityindex mononoke: RFC skiplist with gaps 2020-07-27 01:33:57 -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 bookmarks_movement: move hook running to a restrictions enum 2020-08-25 09:14:08 -07:00
repo_import mononoke/repo_import: removed callsign command argument for repo_import 2020-08-21 13:00:45 -07:00
revset mononoke: try to print warning about expensive getbundle earlier 2020-08-21 13:00:45 -07:00
scs_server/src mononoke_api: use bookmarks_movement for repo_move_bookmark 2020-08-25 09:14:08 -07:00
segmented_changelog dag: use concrete error types 2020-08-06 12:31:57 -07:00
server mononoke_api: add HookManager 2020-08-25 09:14:07 -07:00
sshrelay asyncify connection accepting 2020-08-18 09:09:14 -07:00
tests repo_client: fix fast-forward failure falsehood 2020-08-25 09:14:08 -07:00
time_window_counter mononoke/lfs_server: popularity: add ODS counters, timeouts and tests 2020-07-15 03:39:23 -07:00
tunables bookmarks_movement: prepare for running hooks on additional changesets 2020-08-25 09:14:08 -07:00
unbundle_replay bookmarks_movement: move hook running into bookmarks_movement 2020-08-25 09:14:07 -07:00
walker mononoke: make blobstore ctime a bit easier to use 2020-08-14 02:09:46 -07:00
Cargo.toml hook_manager_factory: extract construction of the hook manager 2020-08-17 09:09:07 -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