Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-05-20 | Makefile: Add a BUILDDIR variable for out-of-tree builds | Tavian Barnes | |
bfs can now be built from a read-only source tree. | |||
2022-05-16 | Makefile: Split build into bin and obj directories | Tavian Barnes | |
This also moves the main binary from ./bfs to ./bin/bfs, and ./tests.sh to ./tests/tests.sh, with the goal of keeping the repository root clean. | |||
2022-05-12 | tests: Use skip_if for sudo tests | Tavian Barnes | |
This lets us categorize the sudo tests properly, which fixes e.g. $ ./tests.sh --posix --sudo | |||
2022-05-12 | stat: Pass AT_NO_AUTOMOUNT if possible | Tavian Barnes | |
Previously bfs would trigger automounts even when it didn't descend into the mount directory, while GNU find does not. | |||
2022-04-16 | Source / Include Folder (#88) | トトも | |
Moved Source Files Into `src` Folder | |||
2022-03-15 | tests: Use bfs_diff in more cases | Tavian Barnes | |
2022-03-14 | tests: Shell style fixes | Tavian Barnes | |
We now support `./tests.sh --bfs="path/with\ spaces/bfs"` | |||
2022-03-13 | tests: Use -print0 instead of -printf '%p ' for exec flush tests | Tavian Barnes | |
2022-03-13 | tests: Use plain sort, not bfs_sort | Tavian Barnes | |
bfs_sort existed to keep the test outputs nicely in breadth-first order. Unfortunately the implementation using awk didn't support NUL bytes. | |||
2022-03-12 | Don't shadow standard headers | Tavian Barnes | |
@italic on the AUR stated that bfs from the AUR fails to build on Manjaro. From the build log, it seems like <time.h> doesn't get included properly. I assume it's picking up ./time.h instead. I couldn't reproduce the build issue in the default configuration, but it does fail with EXTRA_CFLAGS="-I." which isn't good. So rename everything with an x prefix to stop clashing. Link: https://aur.archlinux.org/packages/bfs#comment-856102 Link: https://paste.rs/eqR | |||
2022-02-24 | regex: Use the encoding from the current locale | Tavian Barnes | |
2022-02-11 | exec: Flush I/O streams before executing anything | Tavian Barnes | |
Otherwise output from commands may appear unexpectedly earlier than output from bfs. We use fflush(NULL) to flush all streams, which is more than GNU find does, but seems to be a useful extension. | |||
2022-02-10 | tests: Add a test that -exit suppresses the implicit -print | Tavian Barnes | |
2022-02-04 | regex: Add support for emacs and grep types | Tavian Barnes | |
2022-02-02 | tests: Add tests for syntactically invalid globs | Tavian Barnes | |
2022-02-01 | tests: New tests for -i?wholename | Tavian Barnes | |
2022-02-01 | tests: New test for ** in a glob | Tavian Barnes | |
2022-02-01 | tests: New test for -prune on a non-directory | Tavian Barnes | |
2022-01-30 | parse: Add support for ed and sed regexes | Tavian Barnes | |
They're apparently the same as POSIX basic regexes. | |||
2022-01-29 | Revert "tests: Add a test for posix-basic alternation" | Tavian Barnes | |
Turns out alternation is not actually part of the POSIX basic regular expression language, it's just a glibc extension. This reverts commit c898af13a671ee92a056467d324f16823594eb1c. | |||
2022-01-29 | tests: Add a test for posix-basic alternation | Tavian Barnes | |
2022-01-18 | tests: Add missing license headers | Tavian Barnes | |
2022-01-18 | tests/trie: Fix "handling" typo | Tavian Barnes | |
2021-10-09 | printf: Colorize file names/paths in simple cases | Tavian Barnes | |
2021-09-26 | Don't truncate files until we know they're not duplicates | Tavian Barnes | |
2021-09-21 | ctx: Also deduplicate the standard streams | Tavian Barnes | |
This fixes some potential missing output when the same file is used in a redirection and something like -fprint. The main benefit is smarter handling of /dev/stdout, which will now share the CFILE* with cout. | |||
2021-09-15 | tests: Make the -files0-from tests weirder | Tavian Barnes | |
2021-09-15 | Implement -files0-from FILE | Tavian Barnes | |
See https://savannah.gnu.org/bugs/?60383 for the development of the corresponding GNU find feature. | |||
2021-08-05 | Use /usr/bin/env bash as the shebang in scripts | Tavian Barnes | |
This should reduce the need for patches on the BSDs. | |||
2021-06-02 | Implement time units for -{a,B,c,m}time | Tavian Barnes | |
From FreeBSD find. Closes #75. | |||
2021-04-18 | tests: Add a test for deleting large directories | Tavian Barnes | |
This serves as a test for https://github.com/tavianator/bfs/issues/67 | |||
2021-03-28 | test: Add more tests for -H/-L and -type l | Tavian Barnes | |
2021-03-06 | Implement -flags, from FreeBSD find | Tavian Barnes | |
This is the last BSD-specific primary I'm aware of. Fixes #14. | |||
2020-11-28 | eval: Make -hidden behave consistently | Tavian Barnes | |
Previously there was an unexpected difference between $ bfs .hidden -hidden and $ bfs ./.hidden -hidden ./.hidden The intent of the code was to avoid considering `.`, the default starting point, as hidden and thus pruning a whole search with -nohidden. Fix it to do that explicitly, and handle `..` too. | |||
2020-11-12 | Include what I use | Tavian Barnes | |
Thanks to https://github.com/include-what-you-use/include-what-you-use | |||
2020-11-10 | tests: Improve test coverage a bit | Tavian Barnes | |
2020-11-09 | tests: Add missing expectations from dd3bbb9 | Tavian Barnes | |
2020-09-20 | tests: Add missing ground truth | Tavian Barnes | |
2020-08-13 | Implement -xattrname | Tavian Barnes | |
From macOS find. | |||
2020-06-09 | tests/trie: New acceptance test for tries | Tavian Barnes | |
2020-06-09 | tests/xtimegm: Don't test the year 1900 | Tavian Barnes | |
macOS doesn't support negative time_t's that are larger than 32 bits apparently. C.f.: https://stackoverflow.com/a/46335905 | |||
2020-06-09 | tests: New acceptance test for xtimegm() | Tavian Barnes | |
2020-06-07 | Treat -nohidden like -exclude -hidden | Tavian Barnes | |
Fixes #30. | |||
2020-06-07 | Implement -exclude, a special form for convenient exclusions | Tavian Barnes | |
Fixes #8. | |||
2020-05-22 | opt: Track data flow information about predicates | Tavian Barnes | |
This allows us to optimize things like -sparse -o -not -sparse <==> -true and -sparse -a -not -sparse <==> -false | |||
2020-03-21 | Implement -s flag from FreeBSD find to sort results | Tavian Barnes | |
2020-02-14 | eval: Irregular files aren't empty | Tavian Barnes | |
GNU find's -empty returns false for devices, sockets, etc., even though their st_size is 0. Match that behaviour. | |||
2020-02-13 | parse: Handle 1969-12-31T23:59:59Z | Tavian Barnes | |
mktime() returns -1 on error, but also for one second before the epoch. Compare the input against localtime(-1) to distinguish those cases. | |||
2020-02-12 | Implement -{a,B,c,m,}since | Tavian Barnes | |
2020-02-11 | Implement explicit reference times (-newerXt) | Tavian Barnes | |