From 9e087babb7b95af5684d46f47cb99f223432dfe1 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Mon, 8 Jun 2020 12:37:44 -0400 Subject: RELEASES.md: Add some 2.0 release notes --- README.md | 6 +++++- RELEASES.md | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a9256a3..72b7bff 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,11 @@ $ bfs -L haystack -name 'needle' `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 ` 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.* === -- cgit v1.2.3