Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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. | |||||
* | color: Don't stat() if we don't need to | Tavian Barnes | 2019-05-05 | 2 | -0/+40 | |
| | ||||||
* | tests: Add missing expectation file | Tavian Barnes | 2019-05-04 | 1 | -0/+0 | |
| | ||||||
* | bftw: Add a caching stat() API to struct BFTW | Tavian Barnes | 2019-05-04 | 1 | -0/+20 | |
| | ||||||
* | tests: Add some tests that require sudo | Tavian Barnes | 2019-04-24 | 3 | -0/+9 | |
| | ||||||
* | parse: Allow things like -uid ++10 | Tavian Barnes | 2019-04-21 | 4 | -0/+76 | |
| | | | | GNU find does too. | |||||
* | tests: Don't test symlink permissions | Tavian Barnes | 2019-04-20 | 1 | -31/+31 | |
| | | | | They're different between platforms. | |||||
* | tests: Add a test with -printf %H and multiple roots | Tavian Barnes | 2019-04-20 | 1 | -0/+31 | |
| | | | | To make sure we're keeping track of different root paths correctly | |||||
* | tests: Fix color NUL byte test on platforms where sort expects text | Tavian Barnes | 2019-03-28 | 2 | -0/+0 | |
| | ||||||
* | color: Implement ln=target | Tavian Barnes | 2019-03-28 | 1 | -0/+20 | |
| | | | | | With ln=target in LS_COLORS, links should be colored according to their target's stat() info, not their own. | |||||
* | color: Implement escape sequence parsing | Tavian Barnes | 2019-03-28 | 2 | -0/+20 | |
| | | | | | GNU ls allows custom escape sequences inside color values, including control characters and embedded NULs. | |||||
* | opt: Optimize redundant comma expressions | Tavian Barnes | 2019-03-21 | 2 | -0/+2 | |
| | ||||||
* | opt: Replace -a -false/-o -true with -not when possible | Tavian Barnes | 2019-03-20 | 1 | -0/+1 | |
| | ||||||
* | tests: Add utilities for comparing colors to ls | Tavian Barnes | 2019-03-19 | 2 | -0/+92 | |
| | ||||||
* | tests: Use archive extensions for color tests | Tavian Barnes | 2019-03-17 | 25 | -4/+79 | |
| | ||||||
* | color: Match the behaviour of GNU ls more closely | Tavian Barnes | 2019-03-17 | 25 | -25/+212 | |
| | ||||||
* | tests: Add a test for extension overrides | Tavian Barnes | 2019-03-07 | 2 | -0/+34 | |
| | ||||||
* | eval: Fix -unique with -depth | Tavian Barnes | 2019-03-07 | 2 | -0/+22 | |
| | ||||||
* | Implement -unique | Tavian Barnes | 2019-03-01 | 3 | -0/+6 | |
| | | | | Closes #48 | |||||
* | tests: Add a test for symlink coloring to a device | Tavian Barnes | 2019-02-18 | 12 | -0/+28 | |
| | ||||||
* | tests: Add tests for -no{group,user} under fd pressure | Tavian Barnes | 2019-02-07 | 2 | -0/+0 | |
| | ||||||
* | tests: New utility for making and testing socket files | Tavian Barnes | 2019-02-01 | 12 | -0/+142 | |
| | ||||||
* | main: Fix closed standard stream handling | Tavian Barnes | 2019-02-01 | 3 | -0/+19 | |
| | | | | | bfs >&- should complain about a missing file descriptor, rather than silently succeeding. | |||||
* | color: Fix more incompatibilities with GNU ls | Tavian Barnes | 2019-01-02 | 12 | -12/+165 | |
| | ||||||
* | tests: Fix test_exit() to not depend on breadth-first ordering | Tavian Barnes | 2018-12-28 | 1 | -15/+0 | |
| | ||||||
* | color: Don't print the leading directory color if there's no leading directory | Tavian Barnes | 2018-12-17 | 1 | -1/+1 | |
| | ||||||
* | tests: Don't assume find continues after filesystem loops | Tavian Barnes | 2018-11-14 | 18 | -24/+55 | |
| | | | | | | | | | | | POSIX says > When it detects an infinite loop, find shall write a diagnostic > message to standard error and shall either recover its position in the > hierarchy or terminate. So make the 'links' folder not have any loops, and add a new 'loops' folder for testing the GNU/bfs behaviour. | |||||
* | tests: Add testcases for -prune | Tavian Barnes | 2018-11-01 | 3 | -0/+29 | |
| | ||||||
* | spawn: New posix_spawn()-like API for exec | Tavian Barnes | 2018-09-18 | 1 | -16/+0 | |
| | ||||||
* | opt: Re-run optimizations after reordering expressions | Tavian Barnes | 2018-08-18 | 2 | -0/+24 | |
| | | | | | This catches new data flow inferences that can be made after swapping the children of an expression. | |||||
* | tests: Add tests for mode 000 | Tavian Barnes | 2018-07-20 | 4 | -0/+25 | |
| | ||||||
* | printf: Output ? for errors in %Y | Tavian Barnes | 2018-07-20 | 1 | -0/+3 | |
| | ||||||
* | eval: Fix -delete when following symlinks. | Tavian Barnes | 2018-07-12 | 1 | -0/+2 | |
| | | | | | Same bug as https://savannah.gnu.org/bugs/?46305. Please don't ever do this though. |