mirror of
https://github.com/facebook/sapling.git
synced 2024-10-05 22:37:37 +03:00
A Scalable, User-Friendly Source Control System.
892e078f8c
Summary: This modifies the iterator behavior to so the behavior is a bit cleaner with respect to empty paths. It is valid to have an empty relative path, and there are legitimate use cases where this is useful. For instance, calling dirname() on a RelativePath with a single component will result in an empty path. It is useful to use this empty path to refer to the parent directory, to which the path is relative. Therefore it is also useful to be able to include the empty path when iterating through the parent directories of a path. This removes RelativePath::begin() and RelativePath::end(), and replaces them with a RelativePath::paths() function. paths() returns a struct with a begin() and end() function, so it can be used in range-based for loops, and has the same behavior that begin()/end() did. This also adds a RelativePath::allPaths() function, which also includes the empty relative path in the results. Reviewed By: bolinfest Differential Revision: D3366877 fbshipit-source-id: 3d92b600f07b993925f88d4f1e619b6c1705fb82 |
||
---|---|---|
eden | ||
.buckconfig | ||
.gitignore | ||
CONTRIBUTING.md | ||
DEFS | ||
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.