This status update comes about 3 months after the last one
and coincides with the release of coreutils 7.5. As always you can see the latest changes
as they're added in the NEWS file,
and you can also subscribe to see those changes.
Rejected ideas
Some of the hardest work on coreutils is knowing what to reject and providing appropriate justification to the contributors. The contributions below all came since the last update and while good ideas, they were not included for various reasons detailed on the mailing list.- UTF-8 arrows in ls. See my l script as an alternative
- a path manipulation command. Existing tools deemed rich enough
- sort --by-length. A "sort by line length" example was added to the info docs
- rm --parents. Deleting the opposite way up the tree was deemed too dangerous
-
min,max commands. (the
sort --range={}
alternative seems useful though) -
shred --recursive. Deemed better to explicitly select (with
find
for example) - tr -0. Can do the same thing with marginally more tr syntax
- wc --tab-width. Preprocessing with expand is more functional
- uniq --check-fields. Hopefully we'll add --key processing at some stage
Additions
-
The stdbuf command and
sort --human
option as detailed in the last update were added - chroot now accepts the
--userspec=USER:GROUP
and--groups=GROUP1,...,GROUPN
options - cp accepts a new
--reflink
option which is currently available only within a BTRFS filesystem. This will make a COW copy, which means the data blocks reside in a single place until they're actually modified. This is still very bleeding edge as BTRFS currently gets file space accounting wrong when you do this, and other file systems which could support this don't have the reflink() hooks in place yet. - cp now preserves time stamps on symbolic links, when possible
- tail --follow now uses inotify when possible, to be more responsive.
Previously one would have used
tail -f -s.1
to get fast responses to file changes
TODO
These items mentioned in the last update are not done yet.- fallocate(2) was not integrated into cp and mv due to outstanding interface issues. These haven't been even commented on yet, so I think I'll just use it as is, and handle any future changes to the interface using autotools. Note there is a new fallocate util that has just beed added to util-linux-ng, which is a thin wrapper around fallocate(2) and does nothing if it's not available
- posix_fallocate() is still not used due to its dependence on fallocate(2)
- The multicore sort project as part of GSoC was not completed due to other commitments the student had.
- libunistring nor cp --atributes-only were not started due to personal time contraints
- Add sort --key-debug to help figure out the complicated key selection rules in sort
- Integrate Linus' faster sha1sum
- Related to the new --reflink option to cp above, perhaps add
ln --reflink
. Also it would be good to get cp to try to --reflink but fail back to a normal copy where it's not available. That could be supported with thecp --reflink={auto,always(default)}
option
© Aug 24 2009