A Scalable, User-Friendly Source Control System.
Go to file
Adam Simpkins 05394747ae restart hg_import_helper.py when the repository needs to be reopened
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
2018-08-26 00:21:17 -07:00
CMake Rename generated client source file 2018-08-07 17:22:13 -07:00
common add more APIs to common/stats stubs 2018-07-27 14:36:42 -07:00
eden restart hg_import_helper.py when the repository needs to be reopened 2018-08-26 00:21:17 -07:00
.gitignore ignore the entire external/ directory 2018-04-27 13:05:53 -07:00
CMakeLists.txt do not require SELinux in GitHub build 2018-07-27 13:22:57 -07:00
CONTRIBUTING.md Initial commit 2016-05-12 14:09:13 -07:00
getdeps.py enable rocksdb snappy support in GitHub build 2018-07-27 14:36:42 -07:00
LICENSE Initial commit 2016-05-12 14:09:13 -07:00
PATENTS Initial commit 2016-05-12 14:09:13 -07:00
README.md Fix a typo in Eden's README.md. 2016-05-13 09:32:03 -07:00

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.