sapling/eden/mononoke
Stefan Filip 9fdb3faff6 segmented_changelog: add builder with SegmentedChangelogConfig
Summary:
Pull in SegmentedChangelogConfig and build a SegmentedChangelog instance.
This ties the config with the object that we build on the servers.

Separating the instatiation of the sql connections from building any kind of
segmented changelog structure. The primary reason is that there may be multiple
objects that get instantiated and for that it is useful to be able to pass
this object around.

Reviewed By: krallin

Differential Revision: D26708175

fbshipit-source-id: 90bc22eb9046703556381399442117d13b832392
2021-03-17 20:12:27 -07:00
..
alpn autocargo v1: changes to match autocargo v2 generation results. 2021-02-19 11:03:55 -08:00
benchmarks mononoke: add hg derived data support to benchmark_large_directory 2021-03-12 02:58:53 -08:00
blobimport_lib repo_client: remove case conflict checks on upload 2021-03-10 03:51:42 -08:00
blobrepo segmented_changelog: add builder with SegmentedChangelogConfig 2021-03-17 20:12:27 -07:00
blobrepo_utils third-party/rust: update futures 2021-03-04 06:42:55 -08:00
blobstore mononoke: packblob simplify key substring in create_packed 2021-03-17 03:49:44 -07:00
blobstore_sync_queue vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
bonsai_git_mapping vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
bonsai_globalrev_mapping vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
bonsai_hg_mapping vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
bonsai_svnrev_mapping vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
bookmarks repo_client: remove case conflict checks on upload 2021-03-10 03:51:42 -08:00
bulkops bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00
cache_warmup third-party/rust: update futures 2021-03-04 06:42:55 -08:00
changesets mononoke: force mysql index for changeset queries by repo_id and id 2021-03-09 09:29:50 -08:00
cmdlib Switch default Manifold client from Thrift to C++ 2021-03-12 08:37:15 -08:00
cmds segmented_changelog: add builder with SegmentedChangelogConfig 2021-03-17 20:12:27 -07:00
commit_rewriting mononoke_types: use SortedVectorMap for BonsaiChangeset 2021-03-11 04:28:43 -08:00
common bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00
derived_data bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00
edenapi_server third-party/rust: update futures 2021-03-04 06:42:55 -08:00
edenapi_service edenapi_service: add edenapi prefix to scuba column names 2021-03-15 15:44:34 -07:00
fastreplay third-party/rust: update futures 2021-03-04 06:42:55 -08:00
filenodes vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
filestore vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
git gitimport add fb303 profiling support 2021-03-12 12:35:05 -08:00
gotham_ext vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
hgcli third-party/rust: update futures 2021-03-04 06:42:55 -08:00
hgproto third-party/rust: update futures 2021-03-04 06:42:55 -08:00
hook_tailer third-party/rust: update futures 2021-03-04 06:42:55 -08:00
hooks add invalid characters to the no_windows_filenames hook 2021-03-11 13:38:50 -08:00
lfs_import_lib third-party/rust: update futures 2021-03-04 06:42:55 -08:00
lfs_protocol Format fbsource with rustfmt-2.0.0-rc.2 2021-02-27 18:46:09 -08:00
lfs_server vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
load_limiter vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
manifest bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00
mercurial mononoke: start moving streaming changelog logic to rust 2021-03-12 14:46:30 -08:00
metaconfig segmented_changelog: update reload and update to master periods 2021-03-16 09:30:55 -07:00
microwave vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
mononoke_api edenapi_server: add bookmark endpoint 2021-03-12 12:07:35 -08:00
mononoke_api_hg edenapi_server: add bookmark endpoint 2021-03-12 12:07:35 -08:00
mononoke_hg_sync_job mononoke: do not change repo_id when logging noop hg sync job iteration 2021-03-17 11:13:03 -07:00
mononoke_types bounded_traversal: require futures to be boxed 2021-03-12 08:12:57 -08:00
mutable_counters third-party/rust: update futures 2021-03-04 06:42:55 -08:00
newfilenodes mononoke/filenodes: group properly 2021-03-04 12:32:56 -08:00
observability autocargo v1: reformating of oss-dependencies, workspace and patch sections and thrift files to match v2 2021-02-25 15:10:56 -08:00
permission_checker vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
phases mononoke: force mysql index for phases query by repo_id and cs_id 2021-03-10 03:57:49 -08:00
pushrebase mononoke: pushrebase: save prepushrebase changeset id in bonsai changeset extra 2021-03-12 04:09:41 -08:00
reachabilityindex vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
regenerate_hg_filenodes third-party/rust: update futures 2021-03-04 06:42:55 -08:00
repo_client Update reclone instructions to include fbclone --reclone 2021-03-17 19:10:24 -07:00
repo_import mononoke_types: use SortedVectorMap for BonsaiChangeset 2021-03-11 04:28:43 -08:00
revset vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
scs_server scs_server: log when requests are cancelled 2021-03-16 13:04:32 -07:00
segmented_changelog segmented_changelog: add builder with SegmentedChangelogConfig 2021-03-17 20:12:27 -07:00
server repo_listener: log when connection handlers are cancelled 2021-03-17 08:59:19 -07:00
sshrelay third-party/rust: update futures 2021-03-04 06:42:55 -08:00
streaming_clone mononoke: init cachelib only once and add more logging 2021-03-16 06:20:00 -07:00
tests segmented_changelog: add builder with SegmentedChangelogConfig 2021-03-17 20:12:27 -07:00
time_window_counter vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
tunables mononoke: pushrebase: save prepushrebase changeset id in bonsai changeset extra 2021-03-12 04:09:41 -08:00
unbundle_replay vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
walker Autocargo-ed serde_php (#80) 2021-03-16 07:52:34 -07:00
Cargo.toml Use released cursive_tab and cursive_buffered_backend version (#8078) 2021-03-16 10:00:37 -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