From 4a78e4c9c64b9568a7995e3f5187f4a3f5993478 Mon Sep 17 00:00:00 2001 From: bescoto Date: Tue, 4 Nov 2003 02:24:26 +0000 Subject: Mainly fix for spurious backing up because of uname/gname git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@492 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109 --- rdiff-backup/CHANGELOG | 6 +++--- rdiff-backup/rdiff_backup/rpath.py | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG index a71478a..2c4e9cd 100644 --- a/rdiff-backup/CHANGELOG +++ b/rdiff-backup/CHANGELOG @@ -10,9 +10,9 @@ was full (reported by Erik Forsberg). Fixed remote quoting errors found by Daniel Drucker. -Fixed handling of daylight savings time. Earlier bug would cause some -files to be marked an hour later. Thanks to Troels Arvin and Farkas -Levente for bug report. +Fixed handling of (lack of) daylight savings time. Earlier bug would +cause some files to be marked an hour later. Thanks to Troels Arvin +and Farkas Levente for bug report. New in v0.13.3 (2003/10/14) diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py index 6678a3d..a549973 100644 --- a/rdiff-backup/rdiff_backup/rpath.py +++ b/rdiff-backup/rdiff_backup/rpath.py @@ -296,9 +296,11 @@ 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 == 'uname' or key == 'gname': + # here for legacy reasons - 0.12.x didn't store u/gnames + 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 (not self.isreg() or self.getnumlinks() == 1 or not Globals.compare_inode or @@ -307,7 +309,7 @@ class RORPath: else: try: other_val = other.data[key] except KeyError: return None - if self.data[key] != other.data[key]: return None + if self.data[key] != other_val: return None return 1 def equal_loose(self, other): -- cgit v1.2.1