sapling/eden/mononoke
Thomas Orozco 3ba2c2b429 mononoke/hg_sync: make it work on Mercurial Python 3
Summary:
A few things here:

- The heads must be bytes.
- The arguments to wireproto must be strings (we used to encode / decode them,
  but we shouldn't).
- The bookmark must be a string (otherwise it gets serialized as `"b\"foo\""`
  and then it deserializes to that instead of `foo`).

Reviewed By: StanislavGlebik

Differential Revision: D23499846

fbshipit-source-id: c8a657f24c161080c2d829eb214d17bc1c3d13ef
2020-09-04 11:56:44 -07:00
..
benchmark blobrepo: instantiate segmented changelog as an attribute 2020-09-02 17:20:42 -07:00
blobimport_lib mononoke: blobimport record highest imported generation number 2020-08-12 08:50:35 -07:00
blobrepo mononoke: add log-only mode in redaction 2020-09-04 07:37:15 -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: add log-only mode in redaction 2020-09-04 07:37:15 -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 Remove crate_root from Rust dependency info 2020-08-31 14:43:24 -07:00
bookmarks bookmarks_movement: handle services with all or no permitted paths 2020-08-25 09:14:09 -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 Remove crate_root from Rust dependency info 2020-08-31 14:43:24 -07:00
cmdlib mononoke: allow logging censored scuba accesses to file 2020-09-04 07:37:14 -07:00
cmds mononoke: add log-only mode in redaction 2020-09-04 07:37:15 -07:00
commit_rewriting megarepotool: add gradual-merge-progress subcommand 2020-09-02 12:18:31 -07:00
common rust: mem::replace without using return value is just an assignment 2020-07-31 18:38:35 -07:00
derived_data mononoke/fsnodes: expose FsnodeFile as the LeafId 2020-09-04 06:30:18 -07:00
edenapi_server edenapi_server: use LogMiddleware 2020-09-03 11:59:32 -07:00
fastreplay mononoke: allow logging censored scuba accesses to file 2020-09-04 07:37:14 -07:00
filenodes Remove crate_root from Rust dependency info 2020-08-31 14:43:24 -07:00
filestore mononoke: add context to alias deserialize error handling 2020-07-21 06:11:46 -07:00
git Remove crate_root from Rust dependency info 2020-08-31 14:43:24 -07:00
gotham_ext gotham_ext: make StreamBody automatically delay post-request callbacks 2020-09-03 11:59:32 -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: allow logging censored scuba accesses to file 2020-09-04 07:37:14 -07:00
hooks mononoke/hooks: make limit_commitsize and limit_filesize public 2020-09-04 04:23:05 -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 mononoke: add log-only mode in redaction 2020-09-04 07:37:15 -07:00
load_limiter Regenerate all Cargo.tomls after upgrade to futures 0.3.5 2020-07-06 20:49:43 -07:00
manifest mononoke/fsnodes: expose FsnodeFile as the LeafId 2020-09-04 06:30:18 -07:00
mercurial Remove crate_root from Rust dependency info 2020-08-31 14:43:24 -07:00
metaconfig mononoke: allow logging censored scuba accesses to file 2020-09-04 07:37:14 -07:00
microwave mononoke: allow logging censored scuba accesses to file 2020-09-04 07:37:14 -07:00
mononoke_api mononoke: allow logging censored scuba accesses to file 2020-09-04 07:37:14 -07:00
mononoke_hg_sync_job mononoke/hg_sync: make it work on Mercurial Python 3 2020-09-04 11:56:44 -07:00
mononoke_types mononoke/fsnodes: expose FsnodeFile as the LeafId 2020-09-04 06:30:18 -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 Remove crate_root from Rust dependency info 2020-08-31 14:43:24 -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 mononoke: allow logging censored scuba accesses to file 2020-09-04 07:37:14 -07:00
repo_import mononoke/repo_import: add deriving data types for multiple repos 2020-09-04 05:39:21 -07:00
revset mononoke: try to print warning about expensive getbundle earlier 2020-08-21 13:00:45 -07:00
scs_server tunable scuba sampling 2020-09-04 06:26:35 -07:00
segmented_changelog segmented_changelog: add version field to IdMap 2020-09-03 16:33:20 -07:00
server mononoke: allow logging censored scuba accesses to file 2020-09-04 07:37:14 -07:00
sshrelay asyncify connection accepting 2020-08-18 09:09:14 -07:00
tests mononoke/hg_sync: make it work on Mercurial Python 3 2020-09-04 11:56:44 -07:00
time_window_counter mononoke/lfs_server: popularity: add ODS counters, timeouts and tests 2020-07-15 03:39:23 -07:00
tunables tunable scuba sampling 2020-09-04 06:26:35 -07:00
unbundle_replay mononoke: allow logging censored scuba accesses to file 2020-09-04 07:37:14 -07:00
walker mononoke: allow logging censored scuba accesses to file 2020-09-04 07:37:14 -07:00
Cargo.toml utility to keep streaming clone data warm 2020-09-01 07:13:33 -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