[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61537: [Bug-coreutils] 'cp -au' re-copies (removes and relinks) hard
Antonio Diaz Diaz
bug#61537: [Bug-coreutils] 'cp -au' re-copies (removes and relinks) hard links that are up to date
Wed, 15 Feb 2023 19:58:22 +0100
Mozilla/5.0 (X11; U; Linux i586; en-US; rv:188.8.131.52) Gecko/20110420 SeaMonkey/2.0.14
I have been forced recently to update my coreutils 8.11 (because 'touch' in
8.11 didn't understand the dates with a 'T' separator passed to it by the
configure of another GNU package I was installing) and have found that 'cp
-au' now re-copies (removes and relinks) hard links that are up to date and
it didn't recopy with 8.11.
I have tried coreutils 8.23 and 9.1, but I think all versions after 8.11
have this problem.
To illustrate the problem, I first create a directory 'src' containing two
linked files and then make a copy of 'src' in 'dest':
$ md src
$ echo "foo" > src/a
$ ln src/a src/b
$ cp -auv src dest
'src' -> 'dest'
'src/a' -> 'dest/a'
'src/b' -> 'dest/b'
Now, every time I update 'dest' using 'cp -au', it removes and relinks
'dest/b' in spite of it already being a link to 'dest/a':
$ cp -auv src/* dest
But with 'cp' from coreutils 8.11, 'dest/b' was not recopied:
$ /tmp/coreutils-8.11/src/cp -auv src/* dest
Can current 'cp' be fixed so that it notices that the destination is already
updated, and thus avoids removing and relinking it, just as it did in
|[Prev in Thread]
||[Next in Thread]|
- bug#61537: [Bug-coreutils] 'cp -au' re-copies (removes and relinks) hard links that are up to date,
Antonio Diaz Diaz <=