diff options
author | ben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2002-05-30 23:33:17 +0000 |
---|---|---|
committer | ben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2002-05-30 23:33:17 +0000 |
commit | b3c458f96706b7a6ef570434c9c9adc7129912a4 (patch) | |
tree | 147d094408050f337c1ac9b752f61e3be7a23bda /rdiff-backup/src/increment.py | |
parent | 316b6ac203137fc5740d1181c941aab1178eeaae (diff) | |
download | rdiff-backup-b3c458f96706b7a6ef570434c9c9adc7129912a4.tar.gz |
Bug fixes to resuming and error correction code
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@112 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/src/increment.py')
-rw-r--r-- | rdiff-backup/src/increment.py | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/rdiff-backup/src/increment.py b/rdiff-backup/src/increment.py index 2456b28..7aa7009 100644 --- a/rdiff-backup/src/increment.py +++ b/rdiff-backup/src/increment.py @@ -1,3 +1,4 @@ +import traceback execfile("statistics.py") ####################################################################### @@ -121,7 +122,7 @@ class Inc: MakeStatic(Inc) -class IncrementITR(StatsITR): +class IncrementITR(ErrorITR, StatsITR): """Patch and increment mirror directory This has to be an ITR because directories that have files in them @@ -236,13 +237,8 @@ class IncrementITR(StatsITR): def end_process(self): """Do final work when leaving a tree (directory)""" - try: diff_rorp, dsrp, incpref = self.diff_rorp, self.dsrp, self.incpref - except AttributeError: # This weren't set because of some error - return - - if self.mirror_isdirectory: - if not diff_rorp and not self.changed: return - + diff_rorp, dsrp, incpref = self.diff_rorp, self.dsrp, self.incpref + if self.mirror_isdirectory and (diff_rorp or self.changed): if self.directory_replacement: tf = self.directory_replacement self.incrp = Robust.chain( @@ -264,7 +260,7 @@ class IncrementITR(StatsITR): self.add_file_stats(subinstance) -class MirrorITR(StatsITR): +class MirrorITR(ErrorITR, StatsITR): """Like IncrementITR, but only patch mirror directory, don't increment""" # This is always None since no increments will be created incrp = None @@ -284,13 +280,9 @@ class MirrorITR(StatsITR): def end_process(self): """Update statistics when leaving""" - try: diff_rorp, mirror_dsrp = self.diff_rorp, self.mirror_dsrp - except AttributeError: # Some error above prevented these being set - return - - self.end_stats(diff_rorp, mirror_dsrp) - if mirror_dsrp.isdir(): - Stats.write_dir_stats_line(self, mirror_dsrp.index) + self.end_stats(self.diff_rorp, self.mirror_dsrp) + if self.mirror_dsrp.isdir(): + Stats.write_dir_stats_line(self, self.mirror_dsrp.index) def branch_process(self, subinstance): """Update statistics with subdirectory results""" |