diff options
-rw-r--r-- | README.md | 6 | ||||
-rw-r--r-- | RELEASES.md | 36 |
2 files changed, 41 insertions, 1 deletions
@@ -94,7 +94,11 @@ $ <strong>bfs</strong> -L <em>haystack</em> -name 'needle' </pre> `bfs` also adds some extra options that make some common tasks easier. -Compare `bfs -name config -exclude -name .git` to +Compare + + bfs -name config -exclude -name .git` + +to find ! \( -name .git -prune \) -name config diff --git a/RELEASES.md b/RELEASES.md index 11f5bc8..898bacd 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,3 +1,39 @@ +2.* +=== + +2.0 +--- + +**Unreleased** + +- New `-exclude <expression>` syntax to more easily and reliably filter out paths (#8). + For example: + + bfs -name config -exclude -name .git + + will find all files named `config`, without searching any directories (or files) named `.git`. + In this case, the same effect could have been achieved (more awkwardly) with `-prune`: + + bfs ! \( -name .git -prune \) -name config + + But `-exclude` will work in more cases: + + # -exclude works with -depth, while -prune doesn't: + bfs -depth -name config -exclude -name .git + + # -exclude applies even to paths below the minimum depth: + bfs -mindepth 3 -name config -exclude -name .git + +- `-nohidden` is now equivalent to `-exclude -hidden`. + This changes the behavior of command lines like + + bfs -type f -nohidden + + to do what was intended (#30). + +- Fixed an optimizer bug that could skip `-empty`/`-xtype` if they didn't always lead to an action + + 1.* === |