summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md6
-rw-r--r--RELEASES.md36
2 files changed, 41 insertions, 1 deletions
diff --git a/README.md b/README.md
index a9256a3..72b7bff 100644
--- a/README.md
+++ b/README.md
@@ -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.*
===