From 78436fc6a88a0d5c6d8bddc884b8a8814ac4466c Mon Sep 17 00:00:00 2001 From: owsla Date: Fri, 9 May 2008 13:06:30 +0000 Subject: Finally fix 'No such file or directory' bug when attempting to regress after a failed backup. (Patch from Josh Nisly) git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@885 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109 --- rdiff-backup/CHANGELOG | 3 +++ rdiff-backup/rdiff_backup/regress.py | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG index 62daa7a..e1306ad 100644 --- a/rdiff-backup/CHANGELOG +++ b/rdiff-backup/CHANGELOG @@ -1,6 +1,9 @@ New in v1.1.16 (????/??/??) --------------------------- +Finally fix 'No such file or directory' bug when attempting to regress after +a failed backup. (Patch from Josh Nisly) + Improve Unicode support by escaping Unicode characters in filenames when printing them in log messages from eas_acls.py. (Fix from Saptarshi Guha) diff --git a/rdiff-backup/rdiff_backup/regress.py b/rdiff-backup/rdiff_backup/regress.py index 883905c..ca1591d 100644 --- a/rdiff-backup/rdiff_backup/regress.py +++ b/rdiff-backup/rdiff_backup/regress.py @@ -141,8 +141,9 @@ def recreate_meta(meta_manager): the reverse. """ - temprp = TempFile.new_in_dir(Globals.rbdir) - writer = metadata.MetadataFile(temprp, 'w', check_path = 0) + temprp = [TempFile.new_in_dir(Globals.rbdir)] + def callback(rp): temprp[0] = rp + writer = metadata.MetadataFile(temprp[0], 'w', check_path = 0, callback = callback) for rorp in meta_manager.get_meta_at_time(regress_time, None): writer.write_object(rorp) writer.close() @@ -150,7 +151,7 @@ def recreate_meta(meta_manager): finalrp = Globals.rbdir.append("mirror_metadata.%s.snapshot.gz" % Time.timetostring(regress_time)) assert not finalrp.lstat(), finalrp - rpath.rename(temprp, finalrp) + rpath.rename(temprp[0], finalrp) if Globals.fsync_directories: Globals.rbdir.fsync() def iterate_raw_rfs(mirror_rp, inc_rp): -- cgit v1.2.1