mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
A Scalable, User-Friendly Source Control System.
05394747ae
Summary: Update hg_import_helper.py to throw a new ResetRepoError type when it decides that its local mercurial state is invalid and that it needs to reopen the repository. The C++ code will catch this exception, restart the hg_import_helper.py and retry the request. (It will only retry once for each request.) The previous behavior of simply closing and re-opening the repository object in Python has been problematic, as this has resulted in resource leaks. The hg_import_helper.py process itself ends up leaking memory when re-opening the repository. This also appears to result in many scmmemcache helper processes being created and not cleaned up. Presumably these are associated with the old repository state and not cleaned up properly when we reopen the repository. Reviewed By: quark-zju Differential Revision: D9510664 fbshipit-source-id: 449dfa9e2e21aabf8b3ce640749d32aa8f8e4052 |
||
---|---|---|
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.