Bug 11523 - Request: Add option to unlink hard links when permissions change
Summary: Request: Add option to unlink hard links when permissions change
Status: NEW
Alias: None
Product: rsync
Classification: Unclassified
Component: core (show other bugs)
Version: 3.1.2
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Wayne Davison
QA Contact: Rsync QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-16 19:32 UTC by dana
Modified: 2015-09-16 19:32 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description dana 2015-09-16 19:32:50 UTC
rsync has a very useful behaviour where, if it detects that a change has occurred in a file which is a hard link on the destination side, the destination file is unlinked during the transfer so as not to over-write all of the other files with the same inode.

This works really well, but (please correct me if i'm wrong) rsync has no similar mechanism for attribute changes. This means that if your file changes ownerships or permissions (or times, though i don't personally care about those), rsync will update those attributes on the destination hard link, which will in turn replace all of the attributes for all of the other files with that inode.

I was wondering if it'd be feasible to add an option (or multiple options, depending on the desired granularity) to cause rsync to treat changes in file attributes the same way it treats changes to the file's contents when it encounters hard links at the destination. Maybe something like --relink-p or something?

Hope this makes sense. Thanks for rsync!