summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2002-05-21 23:36:12 +0000
committerben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2002-05-21 23:36:12 +0000
commitca5b2c15aec9916bd631d7d8b6dc2cc684c488fc (patch)
tree8495e52ee25a8c33aa652d90cab23d4aa77aa393
parent48c85c6792ed001c8063fec21dfd2794c32dcd28 (diff)
downloadrdiff-backup-ca5b2c15aec9916bd631d7d8b6dc2cc684c488fc.tar.gz
Fixed rpath unpickling error
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@96 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
-rw-r--r--rdiff-backup/rdiff_backup/highlevel.py6
-rw-r--r--rdiff-backup/rdiff_backup/rpath.py1
-rw-r--r--rdiff-backup/src/highlevel.py6
-rw-r--r--rdiff-backup/src/rpath.py1
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):