diff options
author | Pádraig Brady <P@draigBrady.com> | 2011-03-31 11:28:58 +0100 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2011-04-01 14:17:27 +0100 |
commit | 594292a1d89332dd006cd7fe3116cf46ebe9acf6 (patch) | |
tree | 75db5403a519f0e3c501129f1302af352e0827e5 /NEWS | |
parent | 0ec711b5c4c5094fa206115a666e5878f463a07f (diff) | |
download | coreutils-594292a1d89332dd006cd7fe3116cf46ebe9acf6.tar.xz |
copy: link rather than copy symlinks, when --link used
This bug was introduced in commit ca9e212c, 2009-09-24,
"cp, mv: use linkat to guarantee semantics", which
inadvertently disabled the creation of hardlinks to symlinks.
However rather than implementing the intention of that commit
and relying on gnulib linkat emulation, we'll revert to the
previous emulation as that maintains ownership and timestamps.
* src/copy.c (copy_internal): Use our existing hardlink to
symlink emulation when link() might dereference the symlink.
Also ensure that we copy the timestamps of the original symlink
when we use the emulation.
* tests/cp/link-symlink: Add a test to ensure timestamps copied.
* tests/Makefile.am: Reference the new test.
* NEWS: Mention the fix.
Reported by Ruediger Meier
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -4,6 +4,10 @@ GNU coreutils NEWS -*- outline -*- ** Bug fixes + cp -a --link would not create a hardlink to a symlink, instead + copying the symlink and then not preserving its timestamp. + [bug introduced in coreutils-8.0] + cut could segfault when invoked with a user-specified output delimiter and an unbounded range like "-f1234567890-". [bug introduced in coreutils-5.3.0] |