diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-04-20 13:21:56 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-04-20 13:21:56 -0400 |
commit | 1f9967298f2bb98dd216c08ce049192737a1cf9f (patch) | |
tree | e6cb2e0141afefc28fefeabc58bc2ba9da9fbef8 /Command/Reinject.hs | |
parent | 542461028d3700caded7c9940a4dde11f7e3f59a (diff) |
reinject: When src file's content cannot be verified, leave it alone, instead of deleting it.
Diffstat (limited to 'Command/Reinject.hs')
-rw-r--r-- | Command/Reinject.hs | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/Command/Reinject.hs b/Command/Reinject.hs index d50db18af..0b1b0e2e2 100644 --- a/Command/Reinject.hs +++ b/Command/Reinject.hs @@ -38,14 +38,13 @@ perform src _dest key = ifM move , error "failed" ) where - -- The file might be on a different filesystem, - -- so moveFile is used rather than simply calling - -- moveToObjectDir; disk space is also checked this way, - -- and the file's content is verified to match the key. - move = getViaTmp DefaultVerify key $ \tmp -> unVerified $ - liftIO $ catchBoolIO $ do - moveFile src tmp - return True + move = checkDiskSpaceToGet key False $ + ifM (verifyKeyContent DefaultVerify UnVerified key src) + ( do + moveAnnex key src + return True + , return False + ) cleanup :: Key -> CommandCleanup cleanup key = do |