GNU Core Utilities - Support: sr #107876, ISSUE: (Unverifyed Bug in 8.13).
You are not allowed to post comments on this tracker with your current authentication level.
sr #107876: ISSUE: (Unverifyed Bug in 8.13).
Submitter: | Linda A. Walsh <law> | ||
Submitted: | Tue 15 Nov 2011 06:28:11 PM UTC | ||
Category: | None | Priority: | 5 - Normal |
Severity: | 3 - Normal | Status: | None |
Privacy: | Public | Assigned to: | None |
Open/Closed: | Open | Operating System: | None |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
Carbon-Copy List
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follows 1 latest change.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2011-11-15 | law | Carbon-Copy | - | ![]() |
Added -email is unavailable- |
it appears from the change log, that a bug was introduced in 8.13.
The Comment was:
cp -au (where --preserve=links is implicit) may now replace newer
files in the destination, to mirror hard links from the source.
====
However, in copying the files on the target,
if the files are NOT linked in the destination, then
it would seem we have the case where we start with
src:
a <=> b
dest
a (dup of a src), b (newer file than src) ; broken links;
Then correct action (if it behaves this way, fine, but it doesn't sound like it)...
if -u flag is used, we only update newer file items...
so, after a cp -au, the above condition would remain
exactly the same.
Unless, if 'a' was updated (and thus, 'b' is also "updated to be newer than target "b"), then
src-b would overwrite dst-b
if a updated, but has time < dst 'b', then 'b'
'a' should not create an older, linked version of 'b', in place of a newer 'b' on the destination.
if 'b' on the src is updated (thus 'a' is updated as well by being linked), and 'b' is newer than dst-b), then
the linked relationship would be copied to the dst (both
a+b copied and linked).
But the key here is that an updated 'a' linked to 'b' on src,
shoudln't overwrite, recreate a link to b on dst IF dst-b is NEWER than the 'b' that would be created.
i.e. while -a says to preserve links, in the presense of -u, one would expect the newest copies to remain on the dst, as
forcing a link in all cases, would break the semantics of "-u".
i.e. use of -u should override -a-'s keep links...(warning/verbose or maybe some 'message on exception'...