mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 00:14:35 +03:00
A Scalable, User-Friendly Source Control System.
810a435f2d
Summary: This updates the `eden doctor` code to define a `Problem` class, and to update all of the checks to generate `Problem` objects. Problems that can be automatically fixed derive from the `FixableProblem` subclass and implement a `perform_fix()` method. This provides a more consistent API to report which problems were found and which ones can be automatically fixed. This also simplifies handling of the `--dry-run` option, as each check no longer needs to individually check if they are running in dry-run mode or not. I also removed the `Check` API, since it only had a single `do_check()` method. The code now simply uses a few separate helper functions that perform various checks and generate `Problem` objects. Reviewed By: wez Differential Revision: D8617702 fbshipit-source-id: f7da2b7c17799b2844ae9416e827fd59b99d93c5 |
||
---|---|---|
CMake | ||
common | ||
eden | ||
.gitignore | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
getdeps.py | ||
LICENSE | ||
PATENTS | ||
README.md |
Eden
Eden is a project with several components, the most prominent of which is a virtual filesystem built using FUSE.
Caveat Emptor
Eden 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, such as Buck, Watchman, and Nuclide.
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:
- The reinterpretations of build macros in
DEFS
. - A process for including third-party dependencies (presumably via Git submodules) and wiring up the
external_deps
argument in the build macros to point to them. - Providing the toolchain needed to power the [undocumented]
thrift_library()
rule in Buck.
The goal is to get Eden building on both Linux and OS X, though Linux support is expected to come first.