sapling/eden/mononoke
Thomas Orozco 72b949340f mononoke: pretty-print root-cause
Summary:
Right now, we debug-print the root cause and pretty-print everything else. This
is pretty bad because the root cause is usually the one thing we would want to
pretty print so we can add instructions there (such as "your hooks failed, fix
it").

This fixes this so we stop pretty-printing the root cause, but also debug print
the whole error, which gives us more developer-friendly context and is easier
for automation to match on.

This is actually in common/rust ... but we're the only people using it AFAICT.

Reviewed By: StanislavGlebik

Differential Revision: D21522518

fbshipit-source-id: 10158811574b56024e14852229e4541da19d5609
2020-05-12 07:59:42 -07:00
..
apiserver mononoke: Add tunables - a simple form of config hot reloading 2020-04-30 16:08:30 -07:00
backsyncer mononoke: fixup licenses in mononoke 2020-05-06 10:00:19 -07:00
benchmark remove unneeded 'static lifetimes 2020-04-22 02:49:01 -07:00
blobimport_lib mononoke: reverse autocargo include list to excludes 2020-05-06 08:43:18 -07:00
blobrepo mononoke/blobrepo/factory: convert this to async await 2020-05-12 06:49:25 -07:00
blobrepo_utils Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
blobstore mononoke/context_concurrency_blobstore: use rate limit instead of semaphore 2020-05-12 06:49:25 -07:00
blobstore_sync_queue Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
bonsai_git_mapping Bump tokio to 0.2.13 2020-04-15 12:18:00 -07:00
bonsai_globalrev_mapping mononoke: update various error enums to use #[source] 2020-05-05 05:44:52 -07:00
bonsai_hg_mapping rust: remove abandoned heapsize crate 2020-05-07 23:45:44 -07:00
bookmarks mononoke/warm_bookmarks_cache: log full errors 2020-05-07 03:15:50 -07:00
cache_warmup mononoke/server: make the main mononoke binary OSS buildable 2020-05-06 06:11:02 -07:00
changesets rust: remove abandoned heapsize crate 2020-05-07 23:45:44 -07:00
cmdlib Remove .compat() from edenapi_server/main.rs 2020-05-11 09:12:07 -07:00
cmds mononoke/context_concurrency_blobstore: use rate limit instead of semaphore 2020-05-12 06:49:25 -07:00
commit_rewriting common/rust/failure_ext: get rid of error chain 2020-05-05 05:44:52 -07:00
common mononoke: pretty-print root-cause 2020-05-12 07:59:42 -07:00
config_structs config: sync from configerator 2020-05-04 04:13:45 -07:00
derived_data mononoke: log the oldest underived ancestor 2020-05-08 07:47:19 -07:00
edenapi_server/src Remove .compat() from edenapi_server/main.rs 2020-05-11 09:12:07 -07:00
fastreplay mononoke/blobrepo/factory: convert this to async await 2020-05-12 06:49:25 -07:00
filenodes third-party/rust: Turn off async-trait/support_old_nightly 2020-04-02 17:01:24 -07:00
filestore Expose ctime from Blobstore::get() in mononoke 2020-05-06 00:55:07 -07:00
git rust: remove abandoned heapsize crate 2020-05-07 23:45:44 -07:00
gotham_ext/src edenapi_server: add repos endpoint 2020-05-08 12:07:02 -07:00
hgcli mononoke: hgcli: Add a connection timeout 2020-04-29 03:27:14 -07:00
hgproto mononoke/repo_client: make repo_client buildable in OSS 2020-05-06 06:11:02 -07:00
hook_tailer mononoke: reverse autocargo include list to excludes 2020-05-06 08:43:18 -07:00
hooks mononoke/hooks: log hook rejections to Scuba 2020-05-12 06:12:36 -07:00
lfs_import_lib mononoke: reverse autocargo include list to excludes 2020-05-06 08:43:18 -07:00
lfs_protocol lfs_protocol: move LFS MIME type into protocol crate 2020-04-23 13:58:04 -07:00
lfs_server/src common/rust/failure_ext: get rid of error chain 2020-05-05 05:44:52 -07:00
load_limiter mononoke/rust-shed: apply new coding style convention that separates oss-only code 2020-05-07 04:52:16 -07:00
manifest Expose ctime from Blobstore::get() in mononoke 2020-05-06 00:55:07 -07:00
megarepolib mononoke: fixup licenses in mononoke 2020-05-06 10:00:19 -07:00
mercurial mononoke/hooks: limit_path_length: encode the .i too 2020-05-08 08:24:35 -07:00
metaconfig third-party/rust: update toml to 0.5.6 2020-05-04 18:59:56 -07:00
microwave mononoke/server: make the main mononoke binary OSS buildable 2020-05-06 06:11:02 -07:00
mononoke_api/src mononoke_api: fix for acl check in tests 2020-04-30 03:14:50 -07:00
mononoke_types rust: remove abandoned heapsize crate 2020-05-07 23:45:44 -07:00
mutable_counters admin: add a subcommand to manipulate mutable_counters 2020-04-16 03:19:44 -07:00
newfilenodes mononoke: update various error enums to use #[source] 2020-05-05 05:44:52 -07:00
permission_checker mononoke/rust-shed: apply new coding style convention that separates oss-only code 2020-05-07 04:52:16 -07:00
phases Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
pushrebase mononoke: improve reporting of case conflicts 2020-05-12 06:44:39 -07:00
reachabilityindex Expose ctime from Blobstore::get() in mononoke 2020-05-06 00:55:07 -07:00
repo_client rust: remove abandoned heapsize crate 2020-05-07 23:45:44 -07:00
revset common/rust/failure_ext: get rid of error chain 2020-05-05 05:44:52 -07:00
scs_server/src mononoke/scs_server: report per-method completion times to ODS 2020-05-07 09:38:43 -07:00
segmented_changelog segmented_changelog: add support for multiple repositories 2020-05-11 09:12:08 -07:00
server mononoke/context_concurrency_blobstore: use rate limit instead of semaphore 2020-05-12 06:49:25 -07:00
sshrelay Clean out unused deps from our TARGETS files 2020-04-14 03:38:11 -07:00
tests mononoke: pretty-print root-cause 2020-05-12 07:59:42 -07:00
time_window_counter mononoke/rust-shed: apply new coding style convention that separates oss-only code 2020-05-07 04:52:16 -07:00
tunables mononoke/context_concurrency_blobstore: use rate limit instead of semaphore 2020-05-12 06:49:25 -07:00
unbundle_replay mononoke: reverse autocargo include list to excludes 2020-05-06 08:43:18 -07:00
walker/src mononoke/blobrepo/factory: convert this to async await 2020-05-12 06:49:25 -07:00
Cargo.toml unbundle: save infinitepush unbundles into reversefillerqueue 2020-05-07 05:12:14 -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