factor, numfmt, and tsort now diagnose read errors on the input.
[This bug was present in "the beginning".]
+** Changes in behavior
+
+ 'cp -v' and 'mv -v' will no longer output a message for each file skipped
+ due to -i, or -u. Instead they only output this information with --debug.
+ I.e., 'cp -u -v' etc. will have the same verbosity as before coreutils-9.3.
+
* Noteworthy changes in release 9.3 (2023-04-18) [stable]
skip:
if (skipped)
{
- if (x->verbose)
- printf (_("skipped %s\n"), quoteaf (dst_name));
- else if (x->interactive == I_ALWAYS_NO)
+ if (x->interactive == I_ALWAYS_NO)
error (0, 0, _("not replacing %s"), quoteaf (dst_name));
+ else if (x->debug)
+ printf (_("skipped %s\n"), quoteaf (dst_name));
return_now = true;
}
# test miscellaneous combinations of -f -i -n parameters
touch c d || framework_failure_
echo "'c' -> 'd'" > out_copy || framework_failure_
-echo "skipped 'd'" > out_skip || framework_failure_
echo "cp: not replacing 'd'" > err_skip || framework_failure_
touch out_empty || framework_failure_
# ask for overwrite, answer no
echo n | returns_ 1 cp -vi c d 2>/dev/null > out1 || fail=1
-compare out1 out_skip || fail=1
+compare out1 out_empty || fail=1
# ask for overwrite, answer yes
echo y | cp -vi c d 2>/dev/null > out2 || fail=1
# -n wins over -i
echo y | returns_ 1 cp -vin c d 2>/dev/null > out4 || fail=1
-compare out4 out_skip || fail=1
+compare out4 out_empty || fail=1
# -n wins over -i non verbose
echo y | returns_ 1 cp -in c d 2>err4 > out4 || fail=1
# do not ask, prevent from overwrite
echo n | returns_ 1 cp -vfn c d 2>/dev/null > out6 || fail=1
-compare out6 out_skip || fail=1
+compare out6 out_empty || fail=1
# do not ask, prevent from overwrite
echo n | returns_ 1 cp -vnf c d 2>/dev/null > out7 || fail=1
-compare out7 out_skip || fail=1
+compare out7 out_empty || fail=1
# options --backup and --no-clobber are mutually exclusive
returns_ 1 cp -bn c d 2>/dev/null || fail=1
cp --debug --attributes-only file file.cp >cp.out || fail=1
returns_ 1 grep 'copy offload:.*reflink:.*sparse detection:' cp.out || fail=1
+touch file.cp || framework_failure_
+cp --debug --update=none file file.cp >cp.out || fail=1
+grep 'skipped' cp.out || fail=1
+
Exit $fail
# test miscellaneous combinations of -f -i -n parameters
touch a b || framework_failure_
echo "renamed 'a' -> 'b'" > out_move
-echo "skipped 'b'" > out_skip || framework_failure_
echo "mv: not replacing 'b'" > err_skip || framework_failure_
> out_empty
# ask for overwrite, answer no
touch a b || framework_failure_
echo n | returns_ 1 mv -vi a b 2>/dev/null > out1 || fail=1
-compare out1 out_skip || fail=1
+compare out1 out_empty || fail=1
# ask for overwrite, answer yes
touch a b || framework_failure_
# -n wins (as the last option)
touch a b || framework_failure_
echo y | returns_ 1 mv -vin a b 2>/dev/null > out3 || fail=1
-compare out3 out_skip || fail=1
+compare out3 out_empty || fail=1
# -n wins (non verbose)
touch a b || framework_failure_
# -n wins (as the last option)
touch a b || framework_failure_
echo y | returns_ 1 mv -vfn a b 2>/dev/null > out4 || fail=1
-compare out4 out_skip || fail=1
+compare out4 out_empty || fail=1
# -n wins (as the last option)
touch a b || framework_failure_
echo y | returns_ 1 mv -vifn a b 2>/dev/null > out5 || fail=1
-compare out5 out_skip || fail=1
+compare out5 out_empty || fail=1
# options --backup and --no-clobber are mutually exclusive
touch a || framework_failure_