Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | xspawn: Do $PATH resolution up-front | Tavian Barnes | 2023-11-07 | 1 | -21/+19 | |
| | | | | | | | | | posix_spawnp() is typically implemented like execvp(), i.e., by repeatedly trying execv() with each $PATH component until it succeeds. This is much slower than resolving the executable path up-front and then calling execv() once, so do that. Fixes: https://github.com/tavianator/bfs/pull/127#issuecomment-1795095126 | |||||
* | Treat NO_COLOR="" the same as unset | Tavian Barnes | 2023-11-06 | 3 | -1/+34 | |
| | | | | | | | | | | | | | | The docs say > Command-line software which adds ANSI color to its output by default > should check for a NO_COLOR environment variable that, when present > and not an empty string (regardless of its value), prevents the > addition of ANSI color. but we were not checking for the empty string. Link: https://no-color.org/ Link: https://github.com/sharkdp/fd/pull/1421 | |||||
* | exec: Try harder to use posix_spawn() | Tavian Barnes | 2023-11-06 | 1 | -5/+26 | |
| | ||||||
* | xspawn: Wrap the real posix_spawn() if possible | Tavian Barnes | 2023-11-06 | 3 | -48/+136 | |
| | | | | Fixes #47. | |||||
* | ctx: Store the original and current RLIMIT_NOFILE | Tavian Barnes | 2023-11-06 | 5 | -37/+38 | |
| | ||||||
* | bfstd: Expose rlim_cmp() | Tavian Barnes | 2023-11-06 | 3 | -33/+40 | |
| | ||||||
* | bench: New -exec benchmarks | Tavian Barnes | 2023-11-02 | 1 | -3/+89 | |
| | ||||||
* | tests: Add tests for ulimit -n after -exec | Tavian Barnes | 2023-11-02 | 4 | -0/+36 | |
| | ||||||
* | bftw: Improve ioq balancing logic | Tavian Barnes | 2023-11-01 | 1 | -13/+22 | |
| | ||||||
* | bfstd: New xwaitpid() wrapper | Tavian Barnes | 2023-10-31 | 5 | -3/+19 | |
| | ||||||
* | bftw: Leave work for the main thread if profitable | Tavian Barnes | 2023-10-31 | 1 | -4/+13 | |
| | ||||||
* | thread: Move thread wrapper functions out of line | Tavian Barnes | 2023-10-27 | 3 | -32/+100 | |
| | ||||||
* | typo: Shrink the key_coords table | Tavian Barnes | 2023-10-27 | 1 | -2/+3 | |
| | ||||||
* | Use {0} to initialize mbstate_t rather than memset() | Tavian Barnes | 2023-10-27 | 2 | -12/+6 | |
| | ||||||
* | eval: TTY-escape paths in the status bar | Tavian Barnes | 2023-10-27 | 1 | -4/+8 | |
| | ||||||
* | bfstd: Expose xmbrtowc() and use it in eval_status() | Tavian Barnes | 2023-10-27 | 3 | -38/+46 | |
| | ||||||
* | bfstd: Only free the locale if we dup'd it successfully | Tavian Barnes | 2023-10-26 | 1 | -3/+3 | |
| | ||||||
* | ci: Run tests in parallel on macOS and FreeBSD | Tavian Barnes | 2023-10-23 | 1 | -2/+3 | |
| | ||||||
* | tests/bfs/help: Fix exit status | Tavian Barnes | 2023-10-23 | 1 | -4/+4 | |
| | ||||||
* | tests/bfs/help: Use ... && fail instead of ! ... | Tavian Barnes | 2023-10-23 | 2 | -5/+4 | |
| | | | | ! false doesn't trigger an error with set -e. | |||||
* | tests/bfs/printf_color: Fix race condition | Tavian Barnes | 2023-10-23 | 2 | -1/+2 | |
| | | | | | Invoking bfs in the top directory can lead it to explore other tests' scratch directories, so explicitly exclude them. | |||||
* | tests: Document -j | Tavian Barnes | 2023-10-23 | 1 | -21/+20 | |
| | ||||||
* | tests: Clean up verbose logging a bit | Tavian Barnes | 2023-10-23 | 1 | -20/+36 | |
| | ||||||
* | tests: Fix Bash 3 compatibility | Tavian Barnes | 2023-10-23 | 7 | -37/+47 | |
| | ||||||
* | tests: Run test cases in parallel | Tavian Barnes | 2023-10-23 | 3 | -16/+64 | |
| | ||||||
* | tests: Use test-specific scratch directories | Tavian Barnes | 2023-10-22 | 77 | -368/+330 | |
| | ||||||
* | tests: Fix column detection with redirected stderr | Tavian Barnes | 2023-10-20 | 1 | -1/+1 | |
| | ||||||
* | tests/color: Remove some useless cats | Tavian Barnes | 2023-10-20 | 4 | -53/+50 | |
| | ||||||
* | tests: Use xtouch to create the whole deep tree at once | Tavian Barnes | 2023-10-20 | 1 | -15/+6 | |
| | ||||||
* | tests/xtouch: Recover from ENAMETOOLONG | Tavian Barnes | 2023-10-20 | 1 | -45/+84 | |
| | ||||||
* | tests: Don't unset array[-1] | Tavian Barnes | 2023-10-19 | 1 | -6/+7 | |
| | | | | This was only added in Bash 4.3 which is too new for macOS. | |||||
* | tests: Refactor implementation into separate files | Tavian Barnes | 2023-10-19 | 13 | -823/+906 | |
| | ||||||
* | tests: Update bash coding style | Tavian Barnes | 2023-10-19 | 1 | -32/+32 | |
| | ||||||
* | tests: Clean up colorization | Tavian Barnes | 2023-10-19 | 1 | -76/+102 | |
| | ||||||
* | tests: Use the ERR trap to print the failing command | Tavian Barnes | 2023-10-19 | 1 | -4/+46 | |
| | ||||||
* | tests: Fix uses of $? with set -e | Tavian Barnes | 2023-10-19 | 1 | -10/+12 | |
| | ||||||
* | tests: New defer function | Tavian Barnes | 2023-10-19 | 18 | -34/+54 | |
| | ||||||
* | tests: Rename --noclean -> --no-clean | Tavian Barnes | 2023-10-19 | 1 | -3/+3 | |
| | ||||||
* | bench: Account for tailfin's at-exit -> defer rename | Tavian Barnes | 2023-10-19 | 1 | -2/+2 | |
| | ||||||
* | wordesc: Don't allow braces in bare words | Tavian Barnes | 2023-10-18 | 1 | -1/+1 | |
| | | | | Things like {a,b} should be quoted to avoid brace expansion. | |||||
* | parse: Set BFTW_WHITEOUTS when parsing -type w | Tavian Barnes | 2023-10-17 | 3 | -0/+105 | |
| | ||||||
* | bftw: New flag to control whiteout visibility | Tavian Barnes | 2023-10-17 | 3 | -2/+19 | |
| | ||||||
* | dir: New flag to control whiteout visibility | Tavian Barnes | 2023-10-17 | 2 | -3/+13 | |
| | ||||||
* | dir: Fix FreeBSD union mounts | Tavian Barnes | 2023-10-17 | 5 | -8/+74 | |
| | ||||||
* | dir: Add a flags parameter to bfs_opendir() | Tavian Barnes | 2023-10-17 | 6 | -21/+45 | |
| | ||||||
* | tests: Move closed_std* tests out of the POSIX group | Tavian Barnes | 2023-10-14 | 6 | -2/+8 | |
| | | | | | | | | | | | | | POSIX actually says > If the utility would be executed with file descriptor 0, 1, or 2 > closed, implementations may execute the utility with the file > descriptor open to an unspecified file. So we're not guaranteed to be able to detect the situation in the first place. Add a best-effort check for these platforms and skip the test. Link: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_01_01 | |||||
* | dir: Fix Android build | Tavian Barnes | 2023-10-14 | 1 | -1/+1 | |
| | | | | Android doesn't provide a getdents() wrapper, so use the syscall. | |||||
* | docs: Add a list of related utilities | Tavian Barnes | 2023-10-13 | 1 | -0/+42 | |
| | ||||||
* | tests: Always create the scratch directory | Tavian Barnes | 2023-10-13 | 1 | -0/+2 | |
| | | | | | | | | | | | | | | | | Otherwise, some tests that try to check for flag support like invoke_bfs scratch -quit -xattr || skip can be accidentally skipped if ./scratch doesn't exist yet: $ ./tests/tests.sh bsd/xattr tests skipped: 1 After this patch, we get the expected $ ./tests/tests.sh bsd/xattr tests passed: 1 | |||||
* | Merge tag '3.0.4' | Tavian Barnes | 2023-10-12 | 5 | -4/+16 | |
|\ |