sapling/eden/mononoke
Muir Manders 0cba5730b5 repo: expose scmstore stores
Summary: Retain and expose scmstore file and tree stores. I'm going to use this to share store instances between Python and Rust.

Reviewed By: sggutier

Differential Revision: D46683379

fbshipit-source-id: ad5204c47eb5d4147d27e9901611037384615bf8
2023-06-26 06:48:14 -07:00
..
acl_regions commit_graph: replace usages of LeastCommonAncestorsHint::is_ancestor and ReachabilityIndex::query_reachability (conditional on a tunable) (except in ChangesetPathContext) 2023-05-23 11:26:11 -07:00
admin delete reachabilityindex directory 2023-06-04 23:27:57 -07:00
aliasverify Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
backfill_derived_data replace slice_repository with CommitGraph::slice_ancestors and delete commit_traversal directory 2023-05-23 11:26:11 -07:00
benchmarks Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
blobimport derived_data/filenodes_derivation: reorganise file layout 2023-04-13 06:39:07 -07:00
blobimport_lib Remove everything about ContentMetadata 2023-05-04 03:59:59 -07:00
blobrepo Using BonsaiTagMapping in GitImport and RemoteGitImport 2023-05-30 12:20:40 -07:00
blobrepo_utils Remove unused raw-api feature from dashmap crate 2023-05-22 10:38:20 -07:00
blobstore Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
blobstore_healer Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
blobstore_sync_queue (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
bonsai_git_mapping commit_graph: replace RangeNodeStream usages with new commit graph range_stream (conditional on a tunable for critical ones) 2023-04-28 10:24:20 -07:00
bonsai_globalrev_mapping Update autocargo component on FBS:master 2023-06-16 14:06:54 -07:00
bonsai_hg_mapping Update autocargo component on FBS:master 2023-06-16 14:06:54 -07:00
bonsai_svnrev_mapping Update autocargo component on FBS:master 2023-06-16 14:06:54 -07:00
bonsai_tag_mapping Unit tests for bonsai_tag_mapping 2023-05-23 04:02:13 -07:00
bookmarks Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
bulkops Update strum and enable the derive feature 2023-06-13 03:32:44 -07:00
cache_warmup cache_warmup: add cache warmup for commit graph segments 2023-06-26 05:12:38 -07:00
cats bump version to 0.1.2 2022-10-20 12:08:11 -07:00
changesets Update autocargo component on FBS:master 2023-06-16 14:06:54 -07:00
cmdlib Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
cmds Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
commit_rewriting Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
common Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
derived_data Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
edenapi_service edenapi: add commit/graph_segments handler 2023-06-26 05:12:38 -07:00
features Expose fetch-key-list through the API and the CLI 2023-06-20 07:15:08 -07:00
filenodes Update autocargo component on FBS:master 2023-06-16 14:06:54 -07:00
filestore Update strum and enable the derive feature 2023-06-13 03:32:44 -07:00
git Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
gotham_ext import async-fcgi and http-body; add stream feature to hyper 2023-06-13 17:56:22 -07:00
hgproto Fix clippy lints (1/N) 2023-03-10 09:41:25 -08:00
hooks hooks: allow other nocommit spellings 2023-06-16 14:53:10 -07:00
land_service delete reachabilityindex directory 2023-06-04 23:27:57 -07:00
lfs_import_lib Clippy fixes 2023-05-09 06:49:45 -07:00
lfs_protocol update to rust 1.64.0 2022-09-27 15:18:58 -07:00
lfs_server Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
manifest (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
megarepo_api Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
mercurial Update autocargo component on FBS:master 2023-06-16 14:06:54 -07:00
metaconfig Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
microwave Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
mononoke_api delete reachabilityindex directory 2023-06-04 23:27:57 -07:00
mononoke_api_hg edenapi: add commit/graph_segments handler 2023-06-26 05:12:38 -07:00
mononoke_configs (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
mononoke_hg_sync_job import async-fcgi and http-body; add stream feature to hyper 2023-06-13 17:56:22 -07:00
mononoke_repos upgrade to parking_lot-0.12.1 2023-06-02 18:45:03 -07:00
mononoke_types pushrebase - allow exemptions from casefolding check 2023-06-20 16:48:55 -07:00
mutable_counters Log mutable counters to ODS 2022-12-09 09:24:56 -08:00
mutable_renames Update autocargo component on FBS:master 2023-06-16 14:06:54 -07:00
newfilenodes (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
observability update regex to 1.6.0 2022-10-31 21:28:04 -07:00
permission_checker Update openssl from 0.10.35 to 10.10.54 2023-06-05 06:35:30 -07:00
phases add new ods logging for bookmark fetching from phases crate 2023-05-31 13:57:24 -07:00
pushrebase pushrebase - allow exemptions from casefolding check 2023-06-20 16:48:55 -07:00
pushrebase_mutation_mapping test_repo_factory: add method for building warm bookmarks cache 2023-04-25 12:45:33 -07:00
quiet_stream (reland) rust/third-party: update to futures 0.3.28 2023-04-04 10:14:43 -07:00
rate_limiting bump version to 0.1.2 2022-10-20 12:08:11 -07:00
repo_attributes sql_commit_graph_storage: allow querying from master in the lower level APIs and add a method for querying only changeset ids 2023-06-26 05:12:38 -07:00
repo_authorization mononoke/vpn_less: add new AuthorizationContext type to replace ad-hoc checks scattered across push code 2023-06-06 13:20:30 -07:00
repo_client Clippy Fixes 2023-06-20 05:19:24 -07:00
repo_factory cmdlib_caching: remove deprecated cachelib options 2023-06-16 03:21:13 -07:00
repo_import Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
revset commit_graph: delete RangeNodeStream 2023-06-04 23:27:57 -07:00
scs improve repo_create_commit docs 2023-06-21 18:33:21 -07:00
scs_server Using BonsaiTagMapping in GitImport and RemoteGitImport 2023-05-30 12:20:40 -07:00
segmented_changelog upgrade to parking_lot-0.12.1 2023-06-02 18:45:03 -07:00
server Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
sshrelay third-party/rust: add experimental feature to zstd 2023-02-23 09:28:19 -08:00
statistics_collector Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
streaming_clone Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
tests repo: expose scmstore stores 2023-06-26 06:48:14 -07:00
time_window_counter bump version to 0.1.2 2022-10-20 12:08:11 -07:00
tools Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
tunables option to skip syncing empty commits 2023-06-15 08:46:20 -07:00
walker Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
wireproto_handler backsyncer: remove connections from TargetRepoDbs 2023-04-12 01:48:40 -07:00
Cargo.toml Upgrade clap, clap_completion 2023-06-26 06:48:13 -07:00
README.md mononoke: README.md update 2022-02-21 02:23:21 -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 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 is omitting some functions.

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:

  • Support for running thrift based apis.
  • Production metadata SQL support (e.g. something like a MySQL backend). We provide sqlite in OSS for now.
  • Production blobstore storage backends (e.g. something like S3). We provide SQL (on sqlite) and File System backends currently in OSS.

Linux is Mononoke's primary target plaform with OSS CI also running on MacOS. Other Unix-like OSes may be supported in the future.

Subsystem Docs

Most of our documentation is in internal systems, however a few subsystems have in-repo markdown docs available: