diff options
author | Ondrej Oprala <ooprala@redhat.com> | 2012-08-07 16:56:52 +0200 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2012-09-28 12:21:02 +0200 |
commit | 24ebca61a3a0f10d6cd2800b188b3c034d1c4755 (patch) | |
tree | dfb6ffe8a3e1447432b9310a93f2785d787bcfb8 /NEWS | |
parent | 64be8b40f457f6480f9e79777d98afce40469786 (diff) | |
download | coreutils-24ebca61a3a0f10d6cd2800b188b3c034d1c4755.tar.xz |
cp: fix the --no-preserve=mode option
The --no-preserve=mode option did not do what its name implies:
it would mistakenly preserve permission mode bits.
* NEWS: Mention the fix.
* TODO: Remove an entry.
* src/copy.c (copy_reg): Add a condition to properly
handle the --no-preserve=mode option for files
(copy_internal): Add a condition to properly handle the
--no-preserve=mode option for directories.
* src/copy.h (struct cp_options): Add a new boolean.
* src/cp.c (cp_option_init,decode_preserve_arg): Set the
new boolean value according to specified options.
* src/install.c (struct cp_options): Initialize the new boolean.
* src/mv.c (struct cp_options): Initialize the new boolean.
* tests/cp/preserve-mode.sh: Add a new test.
* tests/cp/link-preserve.sh (-a --no-preserve=mode): Adjust the
expected perms: now, --no-preserve=mode overrides the --preserve=mode
that is inherent in -a, as it should.
* tests/local.mk: Add the new test to the list.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -12,6 +12,9 @@ GNU coreutils NEWS -*- outline -*- ** Bug fixes + cp --no-preserve=mode now no longer preserves the original file's + permissions but correctly sets mode specified by 0666 & ~umask + du no longer emits a "disk-corrupted"-style diagnostic when it detects a directory cycle that is due to a bind-mounted directory. Instead, it detects this precise type of cycle, diagnoses it as such and |