summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rdiff-backup/CHANGELOG4
-rw-r--r--rdiff-backup/rdiff_backup/rpath.py4
2 files changed, 6 insertions, 2 deletions
diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG
index 85542d5..e452c96 100644
--- a/rdiff-backup/CHANGELOG
+++ b/rdiff-backup/CHANGELOG
@@ -12,6 +12,10 @@ Fix from Paul P Komkoff Jr for uid typo in text_to_entrytuple.
bug#12726: fix regressing of devices while running as non-root -- zero
length files are created as placeholders.
+bug#13476: must always compare device numbers when we compare inode
+numbers -- fix a non-fatal problem with hardlinks when a filesystem is
+moved to another device (and the inodes don't change).
+
New in v0.13.6 (2005/04/07)
---------------------------
diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py
index 6ac1c2c..b03543c 100644
--- a/rdiff-backup/rdiff_backup/rpath.py
+++ b/rdiff-backup/rdiff_backup/rpath.py
@@ -294,7 +294,7 @@ class RORPath:
pass # Don't compare gid/uid for symlinks
elif key == 'atime' and not Globals.preserve_atime: pass
elif key == 'ctime': pass
- elif key == 'devloc' or key == 'nlink': pass
+ elif key == 'nlink': pass
elif key == 'size' and not self.isreg(): pass
elif key == 'ea' and not Globals.eas_active: pass
elif key == 'acl' and not Globals.acls_active: pass
@@ -306,7 +306,7 @@ class RORPath:
other_name = other.data.get(key, None)
if (other_name and other_name != "None" and
other_name != self.data[key]): return None
- elif (key == 'inode' and
+ elif ((key == 'inode' or key == 'devloc') and
(not self.isreg() or self.getnumlinks() == 1 or
not Globals.compare_inode or
not Globals.preserve_hardlinks)):