On Tue, 18 Aug 2026 11:01:42 +1200, Peter Reutemann quoted:
'The technical issue involved how uutils cp handled combinations of archive and symlink-related options, particularly cases like cp -afL. In GNU cp, the -a option is equivalent to -dR --preserve=all, which includes recursive copying and attribute preservation.
The Rust implementation, however, handled some mutually exclusive flags too aggressively. When options like -a and -L were combined, the recursive behavior implied by -a could be lost, resulting in errors such as “-r not specified; omitting directory,” even though archive mode should include recursive copying.'
That’s how cp is documented to work, according to the man page <https://manpages.debian.org/cp(1)>. If the Rust version doesn’t follow that behaviour, but is supposed to be a drop-in replacement, then that’s a bug.