also generate a drop safety proof for move --from remote

This commit is contained in:
Joey Hess 2015-10-09 16:16:03 -04:00
parent b944da832b
commit e392ec112f
Failed to extract signature
4 changed files with 39 additions and 5 deletions

View file

@ -120,7 +120,7 @@ performRemote key afile numcopies remote = do
liftIO $ debugM "drop" $ unwords
[ "Dropping from remote"
, show remote
, "proof: "
, "proof:"
, show proof
]
ok <- Remote.removeKey remote key

View file

@ -1,6 +1,6 @@
{- git-annex command
-
- Copyright 2010-2013 Joey Hess <id@joeyh.name>
- Copyright 2010-2015 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
@ -16,6 +16,9 @@ import qualified Remote
import Annex.UUID
import Annex.Transfer
import Logs.Presence
import Annex.NumCopies
import System.Log.Logger (debugM)
cmd :: Command
cmd = withGlobalOptions (jobsOption : annexedMatchingOptions) $
@ -170,6 +173,18 @@ fromPerform src move key afile = ifM (inAnnex key)
Remote.retrieveKeyFile src key afile t p
dispatch _ False = stop -- failed
dispatch False True = next $ return True -- copy complete
dispatch True True = do -- finish moving
-- Finish by dropping from remote, taking care to verify that
-- the copy here has not been lost somehow.
-- (NumCopies is 1 since we're moving.)
dispatch True True = verifyEnoughCopiesToDrop "" key Nothing
(NumCopies 1) [] [] [UnVerifiedHere] dropremote faileddropremote
dropremote proof = do
liftIO $ debugM "drop" $ unwords
[ "Dropping from remote"
, show src
, "proof:"
, show proof
]
ok <- Remote.removeKey src key
next $ Command.Drop.cleanupRemote key src ok
faileddropremote = error "Unable to drop from remote."