uutils
coreutils
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
uniq: accept a repeated -D/--all-repeated, last one wins GNU uniq accepts -D/--all-repeated given more than once and uses the last occurrence. clap rejected the second one, so a script mixing the short -D and the long --all-repeated form failed with "cannot be used multiple times". Add overrides_with so a repeat overrides the earlier value instead of erroring.
AlejandroCoronadoN:fix-uniq-repeated-all-repeated
2 hours ago
install: strip "(os error N)" from strip-program spawn failure (#13914) When the program given to --strip-program cannot be executed, the raw io::Error was formatted with to_string(), leaking the platform errno suffix: install: strip program failed: Permission denied (os error 13) GNU prints only the errno description. Use uucore's strip_errno, as already done for BackupFailed in this same error enum.
main
2 hours ago
mv,cp: fix xattr TOCTOU by using file descriptor-based operations Path-based xattr calls in cp's copy_extended_attrs and mv's rename_dir_fallback can be redirected to a different inode by a concurrent renamer between the list and the set. Pin the inodes by doing the list/get/set through open file descriptors instead. The destination fd is opened read-only: a directory cannot be opened for writing, and fsetxattr checks write permission on the inode rather than the open mode, so read-only works for both files and directories. Closes: #10014
sylvestre:issue-10014
2 hours ago
ci: install a WASI sysroot so expr builds for wasm
sylvestre:sylvestre-patch-5
2 hours ago
ls: add regress test for orphaned directory dot handling
zveihander:ls-orphan-directory-dots
2 hours ago
gnu: backport the uname -A test
sylvestre:uname-A
3 hours ago
docs: describe the caret diagnostics in the book The summary already listed this page, but the page itself lived on a branch of its own, so the link went nowhere. Bring it here, next to the code it describes, and bring it up to date: env, cut, head, tail and truncate have carets now, the three shared parsers each explain their own syntax for every utility that uses them, and a caret can point inside an argument that had to be echoed back quoted.
diag-more-utils
3 hours ago
uucore: share the locating of an option's value Every operand that is the value of an option needs the same two steps before a caret can be drawn: find the argument carrying it, then point inside it. `mode.rs` spelled that out for `-m`, and sort and numfmt spell it out again for `-k` and `--format`; cut and the size parsers are about to want it too. Move the pair onto `Snapshot`, and expose the two boundary helpers the module already used internally — an offset handed in by someone else's parser has to be walked back to a character boundary before it can be sliced with, and each caller was about to grow its own copy.
diag-shared-locating
3 hours ago
Latest Branches
CodSpeed Performance Gauge
-3%
ci: install a WASI sysroot so expr builds for wasm
#13799
6 days ago
4e224fe
sylvestre:sylvestre-patch-5
CodSpeed Performance Gauge
0%
ls: don't show . and .. on orphaned directories
#13924
5 hours ago
939bec5
zveihander:ls-orphan-directory-dots
CodSpeed Performance Gauge
+2%
cut: add -F option and --whitespace-delimited=trimmed, fix -s/-n edge cases
#13926
2 months ago
2cff63d
cut-fopt
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs
×
Advertisement