diff options
author | Joey Hess <joey@kitenet.net> | 2010-11-28 15:28:20 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-11-28 15:28:20 -0400 |
commit | 653ad35a9f728ed5b3e9b557cdfb15a19b4afe16 (patch) | |
tree | 40e8ed2880ea291f33ef20e931b9d9d1d8c7189c /Command/Drop.hs | |
parent | 92e5d28ca83d057a3d8f5d7d30806642de699172 (diff) |
In .gitattributes, the git-annex-numcopies attribute can be used to control the number of copies to retain of different types of files.
Diffstat (limited to 'Command/Drop.hs')
-rw-r--r-- | Command/Drop.hs | 17 |
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 |