16 releases

0.2.20240718-145624+f4e9df48 Jul 18, 2024
0.2.20240219-172743+3e819974 Feb 20, 2024
0.2.20240116-133042+8acecb66 Jan 16, 2024
0.2.20231113-145254+995db0d6 Nov 13, 2023
0.1.20221118-210929-cfbb6… Nov 19, 2022

#11 in #control-system

6,173 stars & 74 watchers

GPLv2+ license

13MB
306K SLoC

Mononoke xxx 2024-01-30

Mononoke is a the server built for the Sapling 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:

Dependencies

~19–32MB
~545K SLoC