File Hardlink.py.revised-patch of Package rdiff-backup

diff -u rdiff_backup/Hardlink.py rdiff_backup_rev/Hardlink.py
--- rdiff_backup/Hardlink.py	2009-03-16 10:36:21.000000000 -0400
+++ rdiff_backup_rev/Hardlink.py	2010-08-16 12:07:08.000000000 -0400
@@ -95,7 +95,13 @@
 		src_rorp.getnumlinks() == dest_rorp.getnumlinks() == 1):
 		return 1 # Hard links don't apply
 
-	if src_rorp.getnumlinks() < dest_rorp.getnumlinks(): return 0
+	"""The sha1 of linked files is only stored in the metadata of the first 
+	linked file on the dest side.  If the first linked file on the src side is
+	deleted, then the sha1 will also be deleted on the dest side, so we test for this
+	& report not equal so that another sha1 will be stored with the next linked
+	file on the dest side"""
+	if (not islinked(src_rorp) and not dest_rorp.has_sha1()): return 0
+	if src_rorp.getnumlinks() != dest_rorp.getnumlinks(): return 0
 	src_key = get_inode_key(src_rorp)
 	index, remaining, dest_key, digest = _inode_index[src_key]
 	if dest_key == "NA":
openSUSE Build Service is sponsored by