sapling/lib/pathmatcher
Stefan Filip 75fd92d1a2 pathmatcher: add Matcher trait
Summary:
"matcher.py" is used in several places where the the file tree is traversed.
We need to use implement the matcher functionality in the Rust manifest
implementation. We define a common type to be used in our internal code.

In our current state of interfacing a lot with Python, fast paths of matching
full trees is useful so we have 3 states for matching a directory:
 * everything in the directory subtree should be returned
 * nothing in the directory subtree should be returned
 * another state where there is no fast path and the directory should be
 traversed recusively; this state is always valid to return and doe not
 impact correctness

The interface for the Matcher is defined in relationship to RepoPath. We store
paths internally in the same binary format no matter the operating system path
representation. Using std::path would incur a translation cost.

Reviewed By: quark-zju

Differential Revision: D16352528

fbshipit-source-id: 61b259f4347cfaf6f74ee36fa5955e45e4beb739
2019-07-22 13:03:00 -07:00
..
src pathmatcher: add Matcher trait 2019-07-22 13:03:00 -07:00
Cargo.toml pathmatcher: add Matcher trait 2019-07-22 13:03:00 -07:00