From ca5b2c15aec9916bd631d7d8b6dc2cc684c488fc Mon Sep 17 00:00:00 2001 From: ben Date: Tue, 21 May 2002 23:36:12 +0000 Subject: Fixed rpath unpickling error git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@96 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109 --- rdiff-backup/rdiff_backup/highlevel.py | 6 ++++-- rdiff-backup/rdiff_backup/rpath.py | 1 + rdiff-backup/src/highlevel.py | 6 ++++-- rdiff-backup/src/rpath.py | 1 + 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/rdiff-backup/rdiff_backup/highlevel.py b/rdiff-backup/rdiff_backup/highlevel.py index 5ad470a..4a2b515 100644 --- a/rdiff-backup/rdiff_backup/highlevel.py +++ b/rdiff-backup/rdiff_backup/highlevel.py @@ -270,7 +270,6 @@ class HLDestinationStruct: try: return thunk() except (EnvironmentError, SkipFileException, DSRPPermError, RPathException), exc: - Log.exception() if (not isinstance(exc, EnvironmentError) or (errno.errorcode[exc[0]] in ['EPERM', 'ENOENT', 'EACCES', 'EBUSY', 'EEXIST', @@ -278,10 +277,13 @@ class HLDestinationStruct: 'EIO', # reported by docv 'ETXTBSY' # reported by Campbell on some NT system ])): + Log.exception() Log("Skipping file because of error after %s" % (dsrp and dsrp.index,), 2) return None - else: raise + else: + Log.exception(1,2) + raise def handle_last_error(cls, dsrp, finalizer, ITR = None): """If catch fatal error, try to checkpoint before exiting""" diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py index 414268c..c17bf95 100644 --- a/rdiff-backup/rdiff_backup/rpath.py +++ b/rdiff-backup/rdiff_backup/rpath.py @@ -443,6 +443,7 @@ class RPath(RORPath): def __setstate__(self, rpath_state): """Reproduce RPath from __getstate__ output""" + self.conn = Globals.local_connection self.index, self.base, self.data = rpath_state def setdata(self): diff --git a/rdiff-backup/src/highlevel.py b/rdiff-backup/src/highlevel.py index 5ad470a..4a2b515 100644 --- a/rdiff-backup/src/highlevel.py +++ b/rdiff-backup/src/highlevel.py @@ -270,7 +270,6 @@ class HLDestinationStruct: try: return thunk() except (EnvironmentError, SkipFileException, DSRPPermError, RPathException), exc: - Log.exception() if (not isinstance(exc, EnvironmentError) or (errno.errorcode[exc[0]] in ['EPERM', 'ENOENT', 'EACCES', 'EBUSY', 'EEXIST', @@ -278,10 +277,13 @@ class HLDestinationStruct: 'EIO', # reported by docv 'ETXTBSY' # reported by Campbell on some NT system ])): + Log.exception() Log("Skipping file because of error after %s" % (dsrp and dsrp.index,), 2) return None - else: raise + else: + Log.exception(1,2) + raise def handle_last_error(cls, dsrp, finalizer, ITR = None): """If catch fatal error, try to checkpoint before exiting""" diff --git a/rdiff-backup/src/rpath.py b/rdiff-backup/src/rpath.py index 414268c..c17bf95 100644 --- a/rdiff-backup/src/rpath.py +++ b/rdiff-backup/src/rpath.py @@ -443,6 +443,7 @@ class RPath(RORPath): def __setstate__(self, rpath_state): """Reproduce RPath from __getstate__ output""" + self.conn = Globals.local_connection self.index, self.base, self.data = rpath_state def setdata(self): -- cgit v1.2.1