mirror of
https://github.com/facebook/sapling.git
synced 2024-10-05 14:28:17 +03:00
A Scalable, User-Friendly Source Control System.
2a08798f88
Summary: Move the InodeDispatcher class out of the lower-level fusell namespace in eden/fuse and into the higher-level eden code in eden/fs/inodes. I also renamed it from InodeDispatcher to EdenDispatcher, in anticipation of it getting more eden-specific functionality in the future. The fusell::MountPoint class is now independent of the Dispatcher type, and can work with any Dispatcher subclass. Previously the MountPoint class was responsible for owning the InodeDispatcher object. Now its caller (EdenMount in our case) is responsible for supplying a Dispatcher object that is owned externally. Several parts of EdenDispatcher had to be updated as a result of the namespace move, but I tried to keep this change somewhat minimal. I did update it from using fusell::DirInode and fusell::FileInode to eden's TreeInode and FileInode classes directly. However, there still remains more clean-up work to do. I will split remaining changes out into upcoming diffs. Reviewed By: bolinfest Differential Revision: D4257163 fbshipit-source-id: dc9c2526640798f9f924ae2531218ba2c45d1d0a |
||
---|---|---|
eden | ||
.buckconfig | ||
.gitignore | ||
CONTRIBUTING.md | ||
DEFS | ||
install | ||
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.