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!