git-annex/Command/SendKey.hs
Joey Hess 90a8b38ac0 set oneshot mode on a per-command basis
Avoids ugly (and test suite failing) hack in Command.Version
2012-02-14 12:40:40 -04:00

28 lines
619 B
Haskell

{- git-annex command
-
- Copyright 2010 Joey Hess <joey@kitenet.net>
-
- Licensed under the GNU GPL version 3 or higher.
-}
module Command.SendKey where
import Common.Annex
import Command
import Annex.Content
import Utility.RsyncFile
def :: [Command]
def = [oneShot $ command "sendkey" paramKey seek
"runs rsync in server mode to send content"]
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