summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/rorpiter.py
diff options
context:
space:
mode:
authorben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2002-05-29 07:09:49 +0000
committerben <ben@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2002-05-29 07:09:49 +0000
commit85792f3b028aebac6e2681a0ce5ab60f9d91f1ed (patch)
tree4c7aadb68ffbcbc9119089a342a34b38dcd4f405 /rdiff-backup/rdiff_backup/rorpiter.py
parent1d050174970945c986f6c4f1c0b9cf922fd24bc2 (diff)
downloadrdiff-backup-85792f3b028aebac6e2681a0ce5ab60f9d91f1ed.tar.gz
Reexamined robust writing and statistics
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@110 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/rdiff_backup/rorpiter.py')
-rw-r--r--rdiff-backup/rdiff_backup/rorpiter.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/rdiff-backup/rdiff_backup/rorpiter.py b/rdiff-backup/rdiff_backup/rorpiter.py
index fb30426..1ff0724 100644
--- a/rdiff-backup/rdiff_backup/rorpiter.py
+++ b/rdiff-backup/rdiff_backup/rorpiter.py
@@ -212,13 +212,13 @@ class RORPIter:
"""Return action patching basisrp using diff_rorp"""
assert diff_rorp, "Missing diff index %s" % basisrp.index
if not diff_rorp.lstat():
- return RobustAction(lambda: None, basisrp.delete, lambda e: None)
+ return RobustAction(None, lambda init_val: basisrp.delete(), None)
if Globals.preserve_hardlinks and diff_rorp.isflaglinked():
if not basisrp: basisrp = base_rp.new_index(diff_rorp.index)
- return RobustAction(lambda: None,
- lambda: Hardlink.link_rp(diff_rorp, basisrp),
- lambda e: None)
+ tf = TempFileManager.new(basisrp)
+ def init(): Hardlink.link_rp(diff_rorp, tf, basisrp)
+ return Robust.make_tf_robustaction(init, tf, basisrp)
elif basisrp and basisrp.isreg() and diff_rorp.isreg():
assert diff_rorp.get_attached_filetype() == 'diff'
return Rdiff.patch_with_attribs_action(basisrp, diff_rorp)