From db28af406f311ac8f78604cc5906613866aecef5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Sat, 1 Apr 2023 16:27:52 +0100 Subject: cp,mv: add --update=none to always skip existing files Add --update=none which is equivalent to the --no-clobber behavior from before coreutils 9.2. I.e. existing files are unconditionally skipped, and them not being replaced does not affect the exit status. * src/copy.h [enum Update_type]: A new type to support parameters to the --update command line option. [enum Interactive]: Add I_ALWAYS_SKIP. * src/copy.c: Treat I_ALWAYS_SKIP like I_ALWAYS_NO (-n), except that we don't fail when skipping. * src/system.h (emit_update_parameters_note): A new function to output the description of the new --update parameters. * src/cp.c (main): Parse --update arguments, ensuring that -n takes precedence if specified. (usage): Describe the new option. Also allude that -u is related in the -n description. * src/mv.c: Accept the new --update parameters and update usage() accordingly. * doc/coreutils.texi (cp invocation): Describe the new --update parameters. Also reference --update from the --no-clobber description. (mv invocation): Likewise. * tests/mv/update.sh: Test the new parameters. * NEWS: Mention the new feature. Addresses https://bugs.gnu.org/62572 --- NEWS | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 8f947faed..e4ed291b4 100644 --- a/NEWS +++ b/NEWS @@ -27,6 +27,12 @@ GNU coreutils NEWS -*- outline -*- wc will now diagnose if any total counts have overflowed. [This bug was present in "the beginning".] +** New features + + cp and mv now support --update=none to always skip existing files + in the destination, while not affecting the exit status. + This is equivalent to the --no-clobber behavior from before v9.2. + * Noteworthy changes in release 9.2 (2023-03-20) [stable] -- cgit v1.2.1