--- duplicity/patchdir.py +++ duplicity/patchdir.py @@ -476,7 +476,13 @@ by using the duplicity.tempdir to tell us where. """ tempfp = tempfile.TemporaryFile( dir=tempdir.default().dir() ) - misc.copyfileobj( current_file, tempfp ) + try: + misc.copyfileobj( current_file, tempfp ) + except librsync.librsyncError: + # FIXME: hax for LP#662442 + log.Warn(u'librsyncError on %s (hax for LP#662442)' % first ) + return first.get_ropath() + assert not current_file.close() tempfp.seek( 0 ) current_file = tempfp @@ -578,4 +584,8 @@ def fast_process( self, index, ropath ): """Write non-directory ropath to destination""" if ropath.exists(): - ropath.copy( self.base_path.new_index( index ) ) + try: + ropath.copy( self.base_path.new_index( index ) ) + except AssertionError: + # FIXME: hax for LP#662442 + log.Warn(u'AssertionError on %s (hax for LP#662442)' % ropath )