This status update comes about 4 months after the last one
and coincides with the release of coreutils 8.2. 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.- cp,mv --to. Though better than --target it wasn't warranted to have two ways to do it
- mv --parents x/dir1 /y/dir2 /destination. There was little interest in this
- unicode symbols for cp,mv --verbose. Rejected for same reasons as UTF-8 arrows in ls output
- cut -d '[:blank:]'. The exisiting tr -s '[:blank:]' ' ' | cut -d ' ' was deemed sufficient. Note
- sleep --random. The existing tools to achieve this were deemed sufficient
- md5sum --threads. The UNIX toolkit already handles processing files in parallel
- cp,mv --progress. Existing tools cater for this already
- Auto detect output format for join. We need to consider further whether this is useful
- --at options for commands. This functionality was not deemed required for shell
- md5sum --base32. There was little interest in this Internet Archive specific functionality
- quoted-printable. recode or perl can easily decode this format
- df,du -g. Specifying "Gigabyte" output format is neither standard or required
- remove chown,cpio user: shortcut. This was deemed useful and so retained
- Add a sparse command. cp already supports creating sparse files
- Add a getlimits command. This would not be standard enough outside of a particular project
- distinguished symbols for cp,mv --verbose. It was deemed there was enough info from the context
- I/O throughput limitation for dd. pv and rsync et. al. were deemed better for this
Additions
The last few months has mainly been stabilization work, but there have been a few new features:- cp --reflink got the "auto" parameter to fallback to a standard copy if CoW is not available
- rm was rewritten to use fts for directory traversal
- ln got the -L and -P options which hardlink targets and the symlink themselves respectively
- touch got the -h option to operate on symlinks rather than their targets
- env,printenv got the -0 option to delimit entries with NUL
- echo,printf now interpret \e as the escape char (\x1b) like gcc, perl, bash, ...
- A new nproc program was added to print the number of available processors
TODO
These items mentioned in the last update are not done yet.- fallocate(2) was not integrated into cp and mv. The interface hasn't changed, so we'll just use it as is
- posix_fallocate() is still not used due to its dependence on fallocate(2)
- libunistring is now available in debian and fedora and we're about to start using it in coretuils.
- Add sort --key-debug to help figure out the complicated key selection rules in sort
- Integrate Linus' faster sha1sum
- cp --attributes-only
- Speed up seq
- sort --range
- dd skip_bytes count_bytes
- join --header
- add a NSA/DoD verify function to shred
- support unlimited number of split files
- support split --number
© Dec 29 2009