##// END OF EJS Templates
match: strengthen visit_children_set invariant, Recursive means "all files"...
match: strengthen visit_children_set invariant, Recursive means "all files" My previous interpretation of "Recursive" was too relaxed: I thought it instructed the caller to do something like this: > you can stop calling `visit_children_set` because you'll need to descend into > every directory recursively, but you should still check every file if it > matches or not Whereas the real instruction seems to be: > I guarantee that everything in this subtree matches, you can stop > querying the matcher for all files and dirs altogether. The evidence to support this: - the test actually passes with the stronger invariant, revealing no exceptions from this rule - the implementation of `visit_children_set` for `DifferenceMatcher` clearly relies on this requirement, so it must hold for that not to lead to bugs.

File last commit:

r51576:d39ac346 default
r52464:74230abb stable
Show More
Cargo.toml
25 lines | 514 B | text/plain | TOMLLexer
[package]
name = "rhg"
version = "0.1.0"
authors = [
"Antoine Cezar <antoine.cezar@octobus.net>",
"Raphaël Gomès <raphael.gomes@octobus.net>",
]
edition = "2021"
[dependencies]
atty = "0.2.14"
hg-core = { path = "../hg-core"}
chrono = "0.4.23"
clap = { version = "4.0.24", features = ["cargo"] }
derive_more = "0.99.17"
home = "0.5.4"
lazy_static = "1.4.0"
log = "0.4.17"
logging_timer = "1.1.0"
regex = "1.7.0"
env_logger = "0.9.3"
format-bytes = "0.3.0"
whoami = "1.4"
which = "4.3.0"
rayon = "1.7.0"