move annex.numcopies parsing into withNumCopies

This commit is contained in:
Joey Hess 2011-09-15 16:24:47 -04:00
parent d036cd590f
commit 456b45b9b3
5 changed files with 16 additions and 25 deletions

View file

@ -9,7 +9,6 @@ module Command.Copy where
import Command
import qualified Command.Move
import Utility
command :: [Command]
command = [repoCommand "copy" paramPaths seek
@ -20,9 +19,7 @@ seek = [withNumCopies start]
-- A copy is just a move that does not delete the source file.
-- However, --auto mode avoids unnecessary copies.
start :: CommandStartAttrFile
start (file, attr) = isAnnexed file $ \(key, _) ->
start :: FilePath -> Maybe Int -> CommandStart
start file numcopies = isAnnexed file $ \(key, _) ->
autoCopies key (<) numcopies $
Command.Move.start False file
where
numcopies = readMaybe attr

View file

@ -14,7 +14,6 @@ import LocationLog
import Types
import Content
import Messages
import Utility
import Utility.Conditional
import Trust
import Config
@ -28,16 +27,14 @@ seek = [withNumCopies start]
{- Indicates a file's content is not wanted anymore, and should be removed
- if it's safe to do so. -}
start :: CommandStartAttrFile
start (file, attr) = isAnnexed file $ \(key, _) -> do
start :: FilePath -> Maybe Int -> CommandStart
start file numcopies = isAnnexed file $ \(key, _) -> do
present <- inAnnex key
if present
then autoCopies key (>) numcopies $ do
showStart "drop" file
next $ perform key numcopies
else stop
where
numcopies = readMaybe attr
perform :: Key -> Maybe Int -> CommandPerform
perform key numcopies = do

View file

@ -20,7 +20,6 @@ import qualified Types.Key
import UUID
import Types
import Messages
import Utility
import Content
import LocationLog
import Locations
@ -35,10 +34,10 @@ command = [repoCommand "fsck" paramPaths seek "check for problems"]
seek :: [CommandSeek]
seek = [withNumCopies start]
start :: CommandStartAttrFile
start (file, attr) = notBareRepo $ isAnnexed file $ \(key, backend) -> do
start :: FilePath -> Maybe Int -> CommandStart
start file numcopies = notBareRepo $ isAnnexed file $ \(key, backend) -> do
showStart "fsck" file
next $ perform key file backend $ readMaybe attr
next $ perform key file backend numcopies
perform :: Key -> FilePath -> Backend Annex -> Maybe Int -> CommandPerform
perform key file backend numcopies = do

View file

@ -13,7 +13,6 @@ import qualified Remote
import Types
import Content
import Messages
import Utility
import qualified Command.Move
command :: [Command]
@ -23,8 +22,8 @@ command = [repoCommand "get" paramPaths seek
seek :: [CommandSeek]
seek = [withNumCopies start]
start :: CommandStartAttrFile
start (file, attr) = isAnnexed file $ \(key, _) -> do
start :: FilePath -> Maybe Int -> CommandStart
start file numcopies = isAnnexed file $ \(key, _) -> do
inannex <- inAnnex key
if inannex
then stop
@ -37,8 +36,6 @@ start (file, attr) = isAnnexed file $ \(key, _) -> do
-- get --from = copy --from
src <- Remote.byName name
next $ Command.Move.fromPerform src False key
where
numcopies = readMaybe attr
perform :: Key -> CommandPerform
perform key = do