summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/rpath.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/rdiff_backup/rpath.py')
-rw-r--r--rdiff-backup/rdiff_backup/rpath.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py
index b1f3d0b..6678a3d 100644
--- a/rdiff-backup/rdiff_backup/rpath.py
+++ b/rdiff-backup/rdiff_backup/rpath.py
@@ -296,13 +296,18 @@ class RORPath:
elif key == 'acl' and not Globals.acls_active: pass
elif key == 'resourcefork' and not Globals.resource_forks_active:
pass
+ elif ((key == 'uname' or key == 'gname') and
+ not other.data.has_key(key)):
+ pass # legacy reasons - 0.12.x didn't store u/gnames
elif (key == 'inode' and
(not self.isreg() or self.getnumlinks() == 1 or
not Globals.compare_inode or
- not Globals.preserve_hardlinks)): pass
- elif (not other.data.has_key(key) or
- self.data[key] != other.data[key]):
- return None
+ not Globals.preserve_hardlinks)):
+ pass
+ else:
+ try: other_val = other.data[key]
+ except KeyError: return None
+ if self.data[key] != other.data[key]: return None
return 1
def equal_loose(self, other):