mirror of
https://github.com/coreutils/coreutils.git
synced 2024-11-23 09:56:42 +08:00
cp: actually support --update=none-fail
* src/cp.c: Add the entries for the --update=none-fail option. * tests/mv/update.sh: Add a test case. * NEWS: Mention the bug fix. Fixes https://bugs.gnu.org/70727
This commit is contained in:
parent
ba8a43c24d
commit
de49e993ea
4
NEWS
4
NEWS
@ -4,6 +4,10 @@ GNU coreutils NEWS -*- outline -*-
|
||||
|
||||
** Bug fixes
|
||||
|
||||
cp fixes support for --update=none-fail, which would have been
|
||||
rejected as an invalid option.
|
||||
[bug introduced in coreutils-9.5]
|
||||
|
||||
ls and printf fix shell quoted output in the edge case of escaped
|
||||
first and last characters, and single quotes in the string.
|
||||
[bug introduced in coreutils-8.26]
|
||||
|
4
src/cp.c
4
src/cp.c
@ -104,11 +104,11 @@ ARGMATCH_VERIFY (reflink_type_string, reflink_type);
|
||||
|
||||
static char const *const update_type_string[] =
|
||||
{
|
||||
"all", "none", "older", nullptr
|
||||
"all", "none", "none-fail", "older", nullptr
|
||||
};
|
||||
static enum Update_type const update_type[] =
|
||||
{
|
||||
UPDATE_ALL, UPDATE_NONE, UPDATE_OLDER,
|
||||
UPDATE_ALL, UPDATE_NONE, UPDATE_NONE_FAIL, UPDATE_OLDER,
|
||||
};
|
||||
ARGMATCH_VERIFY (update_type_string, update_type);
|
||||
|
||||
|
@ -38,6 +38,17 @@ for interactive in '' -i; do
|
||||
done
|
||||
done
|
||||
|
||||
# These should accept all options
|
||||
for update_option in '--update' '--update=older' '--update=all' \
|
||||
'--update=none' '--update=none-fail'; do
|
||||
|
||||
touch file1 || framework_failure_
|
||||
mv $update_option file1 file2 || fail=1
|
||||
test -f file1 && fail=1
|
||||
cp $update_option file2 file1 || fail=1
|
||||
rm file1 file2 || framework_failure_
|
||||
done
|
||||
|
||||
# These should perform the rename / copy
|
||||
for update_option in '--update' '--update=older' '--update=all' \
|
||||
'--update=none --update=all'; do
|
||||
|
Loading…
Reference in New Issue
Block a user