Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Makefile: Add a BUILDDIR variable for out-of-tree builds | Tavian Barnes | 2022-05-20 | 1 | -1/+6 | |
| | | | | bfs can now be built from a read-only source tree. | |||||
* | Makefile: Split build into bin and obj directories | Tavian Barnes | 2022-05-16 | 1 | -0/+3433 | |
| | | | | | 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. | |||||
* | tests: Use skip_if for sudo tests | Tavian Barnes | 2022-05-12 | 1 | -0/+0 | |
| | | | | | | This lets us categorize the sudo tests properly, which fixes e.g. $ ./tests.sh --posix --sudo | |||||
* | stat: Pass AT_NO_AUTOMOUNT if possible | Tavian Barnes | 2022-05-12 | 1 | -0/+1 | |
| | | | | | Previously bfs would trigger automounts even when it didn't descend into the mount directory, while GNU find does not. | |||||
* | Source / Include Folder (#88) | トトも | 2022-04-16 | 2 | -2/+2 | |
| | | | Moved Source Files Into `src` Folder | |||||
* | tests: Use bfs_diff in more cases | Tavian Barnes | 2022-03-15 | 1 | -0/+0 | |
| | ||||||
* | tests: Shell style fixes | Tavian Barnes | 2022-03-14 | 1 | -1/+1 | |
| | | | | We now support `./tests.sh --bfs="path/with\ spaces/bfs"` | |||||
* | tests: Use -print0 instead of -printf '%p ' for exec flush tests | Tavian Barnes | 2022-03-13 | 2 | -0/+0 | |
| | ||||||
* | tests: Use plain sort, not bfs_sort | Tavian Barnes | 2022-03-13 | 112 | -531/+531 | |
| | | | | | bfs_sort existed to keep the test outputs nicely in breadth-first order. Unfortunately the implementation using awk didn't support NUL bytes. | |||||
* | Don't shadow standard headers | Tavian Barnes | 2022-03-12 | 1 | -1/+1 | |
| | | | | | | | | | | | | | @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 | |||||
* | regex: Use the encoding from the current locale | Tavian Barnes | 2022-02-24 | 1 | -0/+1 | |
| | ||||||
* | exec: Flush I/O streams before executing anything | Tavian Barnes | 2022-02-11 | 3 | -0/+21 | |
| | | | | | | 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. | |||||
* | tests: Add a test that -exit suppresses the implicit -print | Tavian Barnes | 2022-02-10 | 1 | -0/+0 | |
| | ||||||
* | regex: Add support for emacs and grep types | Tavian Barnes | 2022-02-04 | 2 | -0/+10 | |
| | ||||||
* | tests: Add tests for syntactically invalid globs | Tavian Barnes | 2022-02-02 | 12 | -0/+22 | |
| | ||||||
* | tests: New tests for -i?wholename | Tavian Barnes | 2022-02-01 | 2 | -0/+14 | |
| | ||||||
* | tests: New test for ** in a glob | Tavian Barnes | 2022-02-01 | 1 | -0/+4 | |
| | ||||||
* | tests: New test for -prune on a non-directory | Tavian Barnes | 2022-02-01 | 1 | -0/+10 | |
| | ||||||
* | parse: Add support for ed and sed regexes | Tavian Barnes | 2022-01-30 | 2 | -0/+2 | |
| | | | | They're apparently the same as POSIX basic regexes. | |||||
* | Revert "tests: Add a test for posix-basic alternation" | Tavian Barnes | 2022-01-29 | 1 | -2/+0 | |
| | | | | | | | Turns out alternation is not actually part of the POSIX basic regular expression language, it's just a glibc extension. This reverts commit c898af13a671ee92a056467d324f16823594eb1c. | |||||
* | tests: Add a test for posix-basic alternation | Tavian Barnes | 2022-01-29 | 1 | -0/+2 | |
| | ||||||
* | tests: Add missing license headers | Tavian Barnes | 2022-01-18 | 2 | -0/+32 | |
| | ||||||
* | tests/trie: Fix "handling" typo | Tavian Barnes | 2022-01-18 | 1 | -1/+1 | |
| | ||||||
* | printf: Colorize file names/paths in simple cases | Tavian Barnes | 2021-10-09 | 1 | -0/+20 | |
| | ||||||
* | Don't truncate files until we know they're not duplicates | Tavian Barnes | 2021-09-26 | 2 | -0/+39 | |
| | ||||||
* | ctx: Also deduplicate the standard streams | Tavian Barnes | 2021-09-21 | 2 | -0/+57 | |
| | | | | | | 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. | |||||
* | tests: Make the -files0-from tests weirder | Tavian Barnes | 2021-09-15 | 2 | -100/+60 | |
| | ||||||
* | Implement -files0-from FILE | Tavian Barnes | 2021-09-15 | 2 | -0/+100 | |
| | | | | | See https://savannah.gnu.org/bugs/?60383 for the development of the corresponding GNU find feature. | |||||
* | Use /usr/bin/env bash as the shebang in scripts | Tavian Barnes | 2021-08-05 | 4 | -4/+4 | |
| | | | | This should reduce the need for patches on the BSDs. | |||||
* | Implement time units for -{a,B,c,m}time | Tavian Barnes | 2021-06-02 | 1 | -0/+5 | |
| | | | | From FreeBSD find. Closes #75. | |||||
* | tests: Add a test for deleting large directories | Tavian Barnes | 2021-04-18 | 1 | -0/+1 | |
| | | | | This serves as a test for https://github.com/tavianator/bfs/issues/67 | |||||
* | test: Add more tests for -H/-L and -type l | Tavian Barnes | 2021-03-28 | 15 | -12/+32 | |
| | ||||||
* | Implement -flags, from FreeBSD find | Tavian Barnes | 2021-03-06 | 1 | -0/+1 | |
| | | | | This is the last BSD-specific primary I'm aware of. Fixes #14. | |||||
* | eval: Make -hidden behave consistently | Tavian Barnes | 2020-11-28 | 1 | -0/+5 | |
| | | | | | | | | | | | | | | | 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. | |||||
* | Include what I use | Tavian Barnes | 2020-11-12 | 2 | -4/+0 | |
| | | | | Thanks to https://github.com/include-what-you-use/include-what-you-use | |||||
* | tests: Improve test coverage a bit | Tavian Barnes | 2020-11-10 | 12 | -0/+157 | |
| | ||||||
* | tests: Add missing expectations from dd3bbb9 | Tavian Barnes | 2020-11-09 | 2 | -0/+38 | |
| | ||||||
* | tests: Add missing ground truth | Tavian Barnes | 2020-09-20 | 1 | -0/+12 | |
| | ||||||
* | Implement -xattrname | Tavian Barnes | 2020-08-13 | 4 | -0/+6 | |
| | | | | From macOS find. | |||||
* | tests/trie: New acceptance test for tries | Tavian Barnes | 2020-06-09 | 1 | -0/+118 | |
| | ||||||
* | tests/xtimegm: Don't test the year 1900 | Tavian Barnes | 2020-06-09 | 1 | -1/+1 | |
| | | | | | | | macOS doesn't support negative time_t's that are larger than 32 bits apparently. C.f.: https://stackoverflow.com/a/46335905 | |||||
* | tests: New acceptance test for xtimegm() | Tavian Barnes | 2020-06-09 | 1 | -0/+91 | |
| | ||||||
* | Treat -nohidden like -exclude -hidden | Tavian Barnes | 2020-06-07 | 1 | -0/+19 | |
| | | | | Fixes #30. | |||||
* | Implement -exclude, a special form for convenient exclusions | Tavian Barnes | 2020-06-07 | 3 | -0/+26 | |
| | | | | Fixes #8. | |||||
* | opt: Track data flow information about predicates | Tavian Barnes | 2020-05-22 | 4 | -0/+76 | |
| | | | | | | | | | | This allows us to optimize things like -sparse -o -not -sparse <==> -true and -sparse -a -not -sparse <==> -false | |||||
* | Implement -s flag from FreeBSD find to sort results | Tavian Barnes | 2020-03-21 | 4 | -0/+68 | |
| | ||||||
* | eval: Irregular files aren't empty | Tavian Barnes | 2020-02-14 | 1 | -0/+14 | |
| | | | | | GNU find's -empty returns false for devices, sockets, etc., even though their st_size is 0. Match that behaviour. | |||||
* | parse: Handle 1969-12-31T23:59:59Z | Tavian Barnes | 2020-02-13 | 1 | -0/+5 | |
| | | | | | mktime() returns -1 on error, but also for one second before the epoch. Compare the input against localtime(-1) to distinguish those cases. | |||||
* | Implement -{a,B,c,m,}since | Tavian Barnes | 2020-02-12 | 2 | -0/+6 | |
| | ||||||
* | Implement explicit reference times (-newerXt) | Tavian Barnes | 2020-02-11 | 1 | -0/+3 | |
| |