HomeFreeBSD

cp: Improved conformance when copying directories.

Description

cp: Improved conformance when copying directories.

  • When copying a directory, if the destination exists and is not a directory, we would previously emit an error message and exit. The correct behavior according to POSIX is to emit an error message and continue without descending further into the source directory.
  • When copying a directory, if the destination does not exist and we fail to create it, we would previously emit an error message and exit. The correct behavior according to POSIX is to emit an error message and continue. Whether to descend further into the source directory is explicitly left unspecified; GNU cp does not, which seems to me to be the safer and less surprising option, so let's not either.

MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D44577

(cherry picked from commit dd286b0dc187c351a9537a363840245d5505b15b)

cp: Correct the list of non-portable flags.

MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D44576

(cherry picked from commit aaa1806f68ef3102a9b888a03360f166b88618c8)

Details

Provenance
desAuthored on Apr 1 2024, 5:28 PM
Reviewer
kevans
Differential Revision
D44577: cp: Improved conformance when copying directories.
Parents
rG17e32453b89d: Merge commit eb8f379567e8 from llvm-project (by Florian Hahn):
Branches
Unknown
Tags
Unknown