sapling/eden/mononoke
Mark Juggurnauth-Thomas 529ccbbc14 mononoke_api: reorganize create changeset method
Summary: Reorganize the create changeset method so all non-async work is done up-front.

Reviewed By: yancouto

Differential Revision: D44032678

fbshipit-source-id: 73cb051a354b47df69a334fe6fb60fb2f1a65e7d
2023-03-15 09:33:51 -07:00
..
acl_regions Clippy fixes 1/N 2023-02-15 05:37:19 -08:00
admin admin: Verify bookmarks should use commit sync outcome 2023-02-16 04:57:11 -08:00
aliasverify Enable chunk-based backfilling in AliasVerify 2023-03-08 04:53:38 -08:00
alpn update to rust 1.64.0 2022-09-27 15:18:58 -07:00
backfill_derived_data Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
benchmark_filestore Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
benchmarks caching_ext: add cache handler factory 2023-03-01 02:10:41 -08:00
blobimport blobrepo: Remove get_repoid 2023-01-23 05:55:08 -08:00
blobimport_lib Distinguish between BookmarkKey and BookmarkName 2023-02-22 08:53:04 -08:00
blobrepo Fix clippy warnings (2/2) 2023-03-10 09:41:25 -08:00
blobrepo_utils Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
blobstore Remove memcache_blobstore_no_lease 2023-03-14 13:58:36 -07:00
blobstore_healer Upgrade Clap 3 to 3.2.23 2023-02-10 09:18:20 -08:00
blobstore_sync_queue tunables: optionify tunables and remove get_ prefix 2023-02-09 08:43:11 -08:00
bonsai_git_mapping Rename prepushrebase to in_critical_section and do it in the critical section 2023-02-14 10:08:48 -08:00
bonsai_globalrev_mapping enable futures-03 feature 2023-03-09 16:54:47 -08:00
bonsai_hg_mapping enable futures-03 feature 2023-03-09 16:54:47 -08:00
bonsai_svnrev_mapping enable futures-03 feature 2023-03-09 16:54:47 -08:00
bookmarks Fix clippy warnings (2/2) 2023-03-10 09:41:25 -08:00
bulkops Rename BookmarkName to BookmarkKey 2023-02-22 08:53:04 -08:00
cache_warmup Rename BookmarkName to BookmarkKey 2023-02-22 08:53:04 -08:00
cats bump version to 0.1.2 2022-10-20 12:08:11 -07:00
changesets enable futures-03 feature 2023-03-09 16:54:47 -08:00
cmdlib caching: add the ability to disable cacheadmin 2023-03-08 07:53:05 -08:00
cmds Remove memcache_blobstore_no_lease 2023-03-14 13:58:36 -07:00
commit_rewriting Clippy 3/N 2023-03-10 06:09:26 -08:00
commit_traversal/slice_repository update to rust 1.66.1 2023-02-05 21:16:51 -08:00
common Fix clippy warnings (2/2) 2023-03-10 09:41:25 -08:00
derived_data Clippy 3/N 2023-03-10 06:09:26 -08:00
edenapi_service mononoke_api: gather parameters for create_changeset 2023-03-15 09:33:51 -07:00
features Clippy 3/N 2023-03-10 06:09:26 -08:00
filenodes enable futures-03 feature 2023-03-09 16:54:47 -08:00
filestore Back out "Expose seeded_blake3 hash for file data through trees and files endpoint" 2023-03-08 14:50:25 -08:00
git Make move_bookmark category-aware 2023-03-10 07:51:29 -08:00
gotham_ext bump len of the unique id 2023-03-14 05:07:22 -07:00
hgproto Fix clippy lints (1/N) 2023-03-10 09:41:25 -08:00
hook_tailer Rename BookmarkName to BookmarkKey 2023-02-22 08:53:04 -08:00
hooks Rename BookmarkName to BookmarkKey 2023-02-22 08:53:04 -08:00
land_service Rename BookmarkName to BookmarkKey 2023-02-22 08:53:04 -08:00
lfs_import_lib Expose ContentMetadataV2 in FileStore API 2023-03-06 16:43:23 -08:00
lfs_protocol update to rust 1.64.0 2022-09-27 15:18:58 -07:00
lfs_server Expose ContentMetadataV2 in FileStore API 2023-03-06 16:43:23 -08:00
manifest Clippy 3/N 2023-03-10 06:09:26 -08:00
megarepo_api Clippy 3/N 2023-03-10 06:09:26 -08:00
mercurial Fix clippy lints (1/N) 2023-03-10 09:41:25 -08:00
metaconfig Clippy 3/N 2023-03-10 06:09:26 -08:00
microwave Clippy 3/N 2023-03-10 06:09:26 -08:00
mononoke_api mononoke_api: reorganize create changeset method 2023-03-15 09:33:51 -07:00
mononoke_api_hg Make resolve_bookmark category-aware 2023-03-10 07:51:29 -08:00
mononoke_configs Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
mononoke_hg_sync_job mononoke_hg_sync_job: Remove old futures 2023-03-10 09:41:25 -08:00
mononoke_repos Worker per repo 2023-01-23 07:52:47 -08:00
mononoke_types Clippy 3/N 2023-03-10 06:09:26 -08:00
mutable_counters Log mutable counters to ODS 2022-12-09 09:24:56 -08:00
mutable_renames enable futures-03 feature 2023-03-09 16:54:47 -08:00
newfilenodes Clippy 3/N 2023-03-10 06:09:26 -08:00
observability update regex to 1.6.0 2022-10-31 21:28:04 -07:00
permission_checker Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
phases phases: use a noop-cache if caching is not enabled 2023-03-09 05:26:37 -08:00
pushrebase Clippy 3/N 2023-03-10 06:09:26 -08:00
pushrebase_mutation_mapping Rename prepushrebase to in_critical_section and do it in the critical section 2023-02-14 10:08:48 -08:00
quiet_stream Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
rate_limiting bump version to 0.1.2 2022-10-20 12:08:11 -07:00
reachabilityindex enable futures-03 feature 2023-03-09 16:54:47 -08:00
regenerate_hg_filenodes blobrepo: remove BlobRepo::blobstore 2023-01-26 10:13:22 -08:00
repo_attributes enable futures-03 feature 2023-03-09 16:54:47 -08:00
repo_authorization Add internal-only authorization check in upload_git_object endpoint 2023-02-23 09:30:04 -08:00
repo_client Fix clippy lints (1/N) 2023-03-10 09:41:25 -08:00
repo_factory caching: add cache mode parameter to command line with local-only option 2023-03-01 02:10:41 -08:00
repo_import Solution 4: Add globalrevs to all fbsource master commits 2023-03-09 07:47:14 -08:00
revset Fix clippy lints (1/N) 2023-03-10 09:41:25 -08:00
scs scs: add methods for uploading file content and creating stacks 2023-03-15 09:33:51 -07:00
scs_server mononoke_api: gather parameters for create_changeset 2023-03-15 09:33:51 -07:00
segmented_changelog increase insert rate 2023-03-15 08:51:52 -07:00
server Allow open_managed_repos to open default repo-set in non-sharded mode 2023-02-27 04:26:51 -08:00
sharding_lib_ext move encode/decode repo_name used in cmdlib/sharding to lightweight sharding_lib 2023-02-24 05:54:46 -08:00
sshrelay third-party/rust: add experimental feature to zstd 2023-02-23 09:28:19 -08:00
statistics_collector Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
streaming_clone Upgrade Clap 3 to 3.2.23 2023-02-10 09:18:20 -08:00
tests fix the flakiness of test-multiplexed-wal.t 2023-03-13 16:20:50 -07:00
time_window_counter bump version to 0.1.2 2022-10-20 12:08:11 -07:00
tools Solution 4: Add globalrevs to all fbsource master commits 2023-03-09 07:47:14 -08:00
tunables caching_commit_graph_storage: add killswitch for prefetching 2023-03-09 08:03:39 -08:00
upload_globalrevs blobrepo: remove BlobRepo::blobstore 2023-01-26 10:13:22 -08:00
walker walker: configure repo item on logger correctly 2023-03-08 07:53:05 -08:00
wireproto_handler blobrepo: remove BlobRepo::get_blobstore 2023-01-26 10:13:22 -08:00
Cargo.toml Use upstream scip commit 2023-03-06 10:06:59 -08: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: