summaryrefslogtreecommitdiff
path: root/Command/Drop.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Command/Drop.hs')
-rw-r--r--Command/Drop.hs17
1 files changed, 10 insertions, 7 deletions
diff --git a/Command/Drop.hs b/Command/Drop.hs
index fbe66f584..168aa92bd 100644
--- a/Command/Drop.hs
+++ b/Command/Drop.hs
@@ -15,24 +15,27 @@ import LocationLog
import Types
import Core
import Messages
+import Utility
seek :: [SubCmdSeek]
-seek = [withFilesInGit start]
+seek = [withAttrFilesInGit "git-annex-numcopies" start]
{- Indicates a file's content is not wanted anymore, and should be removed
- if it's safe to do so. -}
-start :: SubCmdStartString
-start file = isAnnexed file $ \(key, backend) -> do
+start :: SubCmdStartAttrFile
+start (file, attr) = isAnnexed file $ \(key, backend) -> do
inbackend <- Backend.hasKey key
if not inbackend
then return Nothing
else do
showStart "drop" file
- return $ Just $ perform key backend
+ return $ Just $ perform key backend numcopies
+ where
+ numcopies = readMaybe attr :: Maybe Int
-perform :: Key -> Backend -> SubCmdPerform
-perform key backend = do
- success <- Backend.removeKey backend key
+perform :: Key -> Backend -> Maybe Int -> SubCmdPerform
+perform key backend numcopies = do
+ success <- Backend.removeKey backend key numcopies
if success
then return $ Just $ cleanup key
else return Nothing