diff options
author | Joey Hess <joey@kitenet.net> | 2012-07-02 15:45:20 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-07-02 15:45:20 -0400 |
commit | 3ea708e03b253456961aeeffb4cf37bd15432d09 (patch) | |
tree | 131daffaea10c8a7e3e4890df74fe21e9a87b6f9 /Command | |
parent | 7625319c2c18c1d75a4ba5e4c2819fb0a31641ed (diff) | |
parent | 0c0fd0c54c126268a4867e4dd0d1d42a46621665 (diff) |
Merge branch 'master' into assistant
Diffstat (limited to 'Command')
-rw-r--r-- | Command/Map.hs | 2 | ||||
-rw-r--r-- | Command/RecvKey.hs | 24 | ||||
-rw-r--r-- | Command/SendKey.hs | 18 |
3 files changed, 25 insertions, 19 deletions
diff --git a/Command/Map.hs b/Command/Map.hs index 86e9609a7..65e28945f 100644 --- a/Command/Map.hs +++ b/Command/Map.hs @@ -203,7 +203,7 @@ tryScan r Git.Config.hRead r configlist = - onRemote r (pipedconfig, Nothing) "configlist" [] + onRemote r (pipedconfig, Nothing) "configlist" [] [] manualconfiglist = do sshparams <- sshToRepo r [Param sshcmd] liftIO $ pipedconfig "ssh" sshparams diff --git a/Command/RecvKey.hs b/Command/RecvKey.hs index 9744a56d4..ce8bff997 100644 --- a/Command/RecvKey.hs +++ b/Command/RecvKey.hs @@ -12,6 +12,7 @@ import Command import CmdLine import Annex.Content import Utility.RsyncFile +import Logs.Transfer def :: [Command] def = [oneShot $ command "recvkey" paramKey seek @@ -21,14 +22,15 @@ seek :: [CommandSeek] seek = [withKeys start] start :: Key -> CommandStart -start key = do - whenM (inAnnex key) $ error "key is already present in annex" - - ok <- getViaTmp key (liftIO . rsyncServerReceive) - if ok - then do - -- forcibly quit after receiving one key, - -- and shutdown cleanly - _ <- shutdown True - liftIO exitSuccess - else liftIO exitFailure +start key = ifM (inAnnex key) + ( error "key is already present in annex" + , fieldTransfer Download key $ do + ifM (getViaTmp key $ liftIO . rsyncServerReceive) + ( do + -- forcibly quit after receiving one key, + -- and shutdown cleanly + _ <- shutdown True + liftIO exitSuccess + , liftIO exitFailure + ) + ) diff --git a/Command/SendKey.hs b/Command/SendKey.hs index 686a31caa..5eca70d24 100644 --- a/Command/SendKey.hs +++ b/Command/SendKey.hs @@ -1,6 +1,6 @@ {- git-annex command - - - Copyright 2010 Joey Hess <joey@kitenet.net> + - Copyright 2010,2012 Joey Hess <joey@kitenet.net> - - Licensed under the GNU GPL version 3 or higher. -} @@ -11,6 +11,7 @@ import Common.Annex import Command import Annex.Content import Utility.RsyncFile +import Logs.Transfer def :: [Command] def = [oneShot $ command "sendkey" paramKey seek @@ -20,9 +21,12 @@ seek :: [CommandSeek] seek = [withKeys start] start :: Key -> CommandStart -start key = do - file <- inRepo $ gitAnnexLocation key - whenM (inAnnex key) $ - liftIO $ rsyncServerSend file -- does not return - warning "requested key is not present" - liftIO exitFailure +start key = ifM (inAnnex key) + ( fieldTransfer Upload key $ do + file <- inRepo $ gitAnnexLocation key + liftIO $ ifM (rsyncServerSend file) + ( exitSuccess , exitFailure ) + , do + warning "requested key is not present" + liftIO exitFailure + ) |