diff options
author | Joey Hess <joey@kitenet.net> | 2011-01-14 00:02:33 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-01-14 00:02:33 -0400 |
commit | 59c9eda9624a9d35f44400104e8f022afb0f2f7e (patch) | |
tree | 04ab32bcc50e5f30ab6465ac02a7d70b5e749f84 /Command | |
parent | c1839fdccb286cb5e83f0cf2d1d2d8e15226b0eb (diff) |
on second thought, unlock should fail if content is not present
Diffstat (limited to 'Command')
-rw-r--r-- | Command/Unlock.hs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Command/Unlock.hs b/Command/Unlock.hs index 7c1625bf0..4bd6e8599 100644 --- a/Command/Unlock.hs +++ b/Command/Unlock.hs @@ -7,6 +7,7 @@ module Command.Unlock where +import Control.Monad (when) import Control.Monad.State (liftIO) import System.Directory hiding (copyFile) @@ -32,15 +33,15 @@ seek = [withFilesInGit start] - content. -} start :: CommandStartString start file = isAnnexed file $ \(key, _) -> do - inbackend <- Backend.hasKey key - if not inbackend - then return Nothing - else do - showStart "unlock" file - return $ Just $ perform file key + showStart "unlock" file + return $ Just $ perform file key perform :: FilePath -> Key -> CommandPerform perform dest key = do + inbackend <- Backend.hasKey key + when (not inbackend) $ + error "content not present" + g <- Annex.gitRepo let src = annexLocation g key liftIO $ removeFile dest |