Releases: tavianator/bfs
Releases · tavianator/bfs
Version 1.1
- Implemented some primaries from NetBSD
find
:-exit [STATUS]
(like-quit
, but with an optional explicit exit status)-printx
(escape special characters forxargs
)-rm
(alias for-delete
)
- Warn if
-prune
will have no effect due to-depth
- Handle y/n prompts according to the user's locale
- Prompt the user to correct typos without having to re-run
bfs
- Fixed handling of paths longer than
PATH_MAX
- Fixed spurious "Inappropriate ioctl for device" errors when redirecting
-exec ... +
output - Fixed the handling of paths that treat a file as a directory (e.g.
a/b/c
wherea/b
is a regular file) - Fixed an expression optimizer bug that broke command lines like
bfs -name '*' -o -print
Version 1.0.2
Bugfix release.
- Fixed handling of \0 inside -printf format strings
- Fixed
-perm
interpretation of permcopy actions (e.g.u=rw,g=r
)
Version 1.0.1
Bugfix release.
- Portability fixes that mostly affect GNU Hurd
- Implemented
-D exec
- Made
-quit
not disable the implicit-print
Version 1.0
This is the first release of bfs with support for all of GNU find's primitives.
Changes since 0.96:
- Implemented
-fstype
- Implemented
-exec/-execdir ... +
- Implemented BSD's
-X
- Fixed the tests under Bash 3 (mostly for macOS)
- Some minor optimizations and fixes
Version 0.96
73/76 GNU find features supported.
- Implemented -nouser and -nogroup
- Implemented -printf and -fprintf
- Implemented -ls and -fls
- Implemented -type with multiple types at once (e.g. -type f,d,l)
- Fixed 32-bit builds
- Fixed -lname on "symlinks" in Linux /proc
- Fixed -quit to take effect as soon as it's reached
- Stopped redirecting standard input from /dev/null for -ok and -okdir, as that violates POSIX
- Many test suite improvements
Version 0.88
67/76 GNU find features supported.
- Fixed the build on macOS, and some other UNIXes
- Implemented
-regex
,-iregex
,-regextype
, and BSD's-E
- Implemented
-x
(same as-mount
/-xdev
) from BSD - Implemented
-mnewer
(same as-newer
) from BSD - Implemented
-depth N
from BSD - Implemented
-sparse
from FreeBSD - Implemented the
T
andP
suffices for-size
, for BSD compatibility - Added support for
-gid NAME
and-uid NAME
as in BSD
Version 0.84.1
Bugfix release.
- Fixed #7 again
- Like GNU find, don't print warnings by default if standard input is not a terminal
- Redirect standard input from /dev/null for -ok and -okdir
- Skip . when -delete'ing
- Fixed -execdir when the root path has no slashes
- Fixed -execdir in /
- Support -perm +MODE for symbolic modes
- Fixed the build on FreeBSD
Version 0.84
64/76 GNU find features supported.
- Spelling suggestion improvements
- Handle
--
- (Untested) support for exotic file types like doors, ports, and whiteouts
- Improved robustness in the face of closed std{in,out,err}
- Fixed the build on macOS
- Implement
-ignore_readdir_race
,-noignore_readdir_race
- Implement
-perm
0.82
62/76 GNU find features supported.
- Rework optimization levels
-O1
- Simple boolean simplification
-O2
- Purity-based optimizations, allowing side-effect-free tests like
-name
or-type
to be moved or removed
- Purity-based optimizations, allowing side-effect-free tests like
-O3
(default):- Re-order tests to reduce the expected cost (TODO)
-O4
- Aggressive optimizations that may have surprising effects on warning/error messages and runtime, but should not otherwise affect the results
-Ofast
:- Always the highest level, currently the same as
-O4
- Always the highest level, currently the same as
- Color files with multiple hard links correctly
- Treat
-
,)
, and,
as paths when required to by POSIX)
and,
are only supported before the expression begins
- Implement
-D opt
- Implement
-D rates
- Implement
-fprint
- Implement
-fprint0
- Implement BSD's
-f
- Suggest fixes for typo'd arguments
0.79
- Remove an errant debug
printf()
from-used
- Implement the
{} ;
variants of-exec
,-execdir
,-ok
, and-okdir