[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[rdiff-backup-users] 1.1.11 with patches on Cygwin: Inappropriate failur
From: |
Ralph Lehmann |
Subject: |
[rdiff-backup-users] 1.1.11 with patches on Cygwin: Inappropriate failure handling on recovery mode, if a given backup does not exist |
Date: |
Sat, 07 Jul 2007 12:09:11 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.12) Gecko/20070509 Thunderbird/1.5.0.12 Mnenhy/0.7.5.0 |
Hi,
I've patched 1.1.11 with manage.py and restore.py from yesterday
(2007-07-06) and recovery works now. :-)
But if a given backup does not exist, rdiff-backup prints out:
--------------------------------
$ rdiff-backup -r 5B --force /test/bar/ /test/recover/
Exception 'basis_file must be a (true) file' raised of class '<type
'exceptions.TypeError'>':
File "/usr/lib/python2.5/site-packages/rdiff_backup/robust.py", line
32, in check_common_error
try: return function(*args)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
467, in get_fp
Rdiff.write_patched_fp(current_fp, delta_fp, new_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Rdiff.py", line
73, in write_patched_fp
rpath.copyfileobj(librsync.PatchedFile(basis_fp, delta_fp), out_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/librsync.py", line
156, in __init__
raise TypeError("basis_file must be a (true) file")
Exception 'basis_file must be a (true) file' raised of class '<type
'exceptions.TypeError'>':
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line
299, in error_check_Main
try: Main(arglist)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line
319, in Main
take_action(rps)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line
285, in take_action
elif action == "restore-as-of": Restore(rps[0], rps[1], 1)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line
497, in Restore
inc_rpath, dest_rp, time)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
37, in Restore
TargetS.patch(target, diff_iter)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
290, in patch
for diff in rorpiter.FillInIter(diff_iter, target):
File "/usr/lib/python2.5/site-packages/rdiff_backup/rorpiter.py", line
177, in FillInIter
for rp in rpiter:
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
246, in get_diffs_from_collated
diff = cls.get_diff(mir_rorp, target_rorp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
259, in get_diff
file_fp = cls.rf_cache.get_fp(expanded_index, mir_rorp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
353, in get_fp
return rf.get_restore_fp()
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
487, in get_restore_fp
return robust.check_common_error(error_handler, get_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/robust.py", line
32, in check_common_error
try: return function(*args)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
467, in get_fp
Rdiff.write_patched_fp(current_fp, delta_fp, new_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Rdiff.py", line
73, in write_patched_fp
rpath.copyfileobj(librsync.PatchedFile(basis_fp, delta_fp), out_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/librsync.py", line
156, in __init__
raise TypeError("basis_file must be a (true) file")
Traceback (most recent call last):
File "/usr/bin/rdiff-backup", line 23, in <module>
rdiff_backup.Main.error_check_Main(sys.argv[1:])
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line
299, in error_check_Main
try: Main(arglist)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line
319, in Main
take_action(rps)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line
285, in take_action
elif action == "restore-as-of": Restore(rps[0], rps[1], 1)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line
497, in Restore
inc_rpath, dest_rp, time)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
37, in Restore
TargetS.patch(target, diff_iter)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
290, in patch
for diff in rorpiter.FillInIter(diff_iter, target):
File "/usr/lib/python2.5/site-packages/rdiff_backup/rorpiter.py", line
177, in FillInIter
for rp in rpiter:
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
246, in get_diffs_from_collated
diff = cls.get_diff(mir_rorp, target_rorp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
259, in get_diff
file_fp = cls.rf_cache.get_fp(expanded_index, mir_rorp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
353, in get_fp
return rf.get_restore_fp()
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
487, in get_restore_fp
return robust.check_common_error(error_handler, get_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/robust.py", line
32, in check_common_error
try: return function(*args)
File "/usr/lib/python2.5/site-packages/rdiff_backup/restore.py", line
467, in get_fp
Rdiff.write_patched_fp(current_fp, delta_fp, new_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/Rdiff.py", line
73, in write_patched_fp
rpath.copyfileobj(librsync.PatchedFile(basis_fp, delta_fp), out_fp)
File "/usr/lib/python2.5/site-packages/rdiff_backup/librsync.py", line
156, in __init__
raise TypeError("basis_file must be a (true) file")
TypeError: basis_file must be a (true) file
-------------------------------------------
IMO it would be better to print:
"The backup you've tried to recover does not exist."
ciao Ralph
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [rdiff-backup-users] 1.1.11 with patches on Cygwin: Inappropriate failure handling on recovery mode, if a given backup does not exist,
Ralph Lehmann <=