Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | parse: Don't treat -mount differently from -xdev yet | Tavian Barnes | 2019-09-11 | 2 | -0/+4 |
| | | | | | | | | The new POSIX version with -mount isn't out yet, so there's no point in conforming to a non-existent document while breaking compatibility with GNU find, which hasn't changed yet either. But a warning is added for the future incompatibility. This patch can be reverted to re-enable the feature. | ||||
* | tests: Add -mount/-xdev tests with -L | Tavian Barnes | 2019-09-11 | 2 | -0/+7 |
| | |||||
* | tests: Test more cases in test_color_ls | Tavian Barnes | 2019-09-05 | 1 | -4/+10 |
| | |||||
* | color: Fix directory coloring when resolving symlinks at the root | Tavian Barnes | 2019-09-03 | 1 | -0/+6 |
| | |||||
* | Make -mount and -xdev do different things | Tavian Barnes | 2019-07-04 | 1 | -1/+0 |
| | | | | | | | | | POSIX now says -mount should skip the whole mount point, while -xdev should only skip its descendents. C.f. http://austingroupbugs.net/view.php?id=1133 C.f. https://savannah.gnu.org/bugs/?42318 C.f. https://savannah.gnu.org/bugs/?54745 | ||||
* | tests: Relax test_execdir_ulimit so that GNU find passes | Tavian Barnes | 2019-06-28 | 1 | -0/+9 |
| | |||||
* | color: Fix a crash if LS_COLORS ends in * | Tavian Barnes | 2019-06-27 | 1 | -0/+20 |
| | |||||
* | bftw: Queue individual files in depth-first mode | Tavian Barnes | 2019-06-25 | 1 | -0/+31 |
| | | | | This makes the order be truly depth-first. | ||||
* | Implement -xattr predicate | Tavian Barnes | 2019-05-24 | 2 | -0/+4 |
| | |||||
* | fsade: Refactor the POSIX.1e abstractions | Tavian Barnes | 2019-05-24 | 4 | -0/+6 |
| | | | | | | | Since we're going to want to abstract more things that aren't part of POSIX.1e (like xattrs) in a similar way, let's give this a more generic name. And while we're at it, give it some more precise error reporting, and add some tests. | ||||
* | tests: Add some more --sudo tests | Tavian Barnes | 2019-05-09 | 3 | -0/+5 |
| | | | | | | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=912180#17 pointed out that d_ino is not trustworthy on mount points either. Make sure we don't use it. |