aboutsummaryrefslogtreecommitdiff
path: root/Command/P2PStdIO.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Command/P2PStdIO.hs')
-rw-r--r--Command/P2PStdIO.hs13
1 files changed, 5 insertions, 8 deletions
diff --git a/Command/P2PStdIO.hs b/Command/P2PStdIO.hs
index 73c38b906..cb7e54f28 100644
--- a/Command/P2PStdIO.hs
+++ b/Command/P2PStdIO.hs
@@ -14,25 +14,22 @@ import qualified P2P.Protocol as P2P
import qualified Annex
import Annex.UUID
import qualified CmdLine.GitAnnexShell.Checks as Checks
-import qualified CmdLine.GitAnnexShell.Fields as Fields
cmd :: Command
cmd = noMessages $ command "p2pstdio" SectionPlumbing
"communicate in P2P protocol over stdio"
- paramNothing (withParams seek)
+ paramUUID (withParams seek)
seek :: CmdParams -> CommandSeek
-seek = withNothing start
+seek [u] = commandAction $ start $ toUUID u
+seek _ = giveup "missing UUID parameter"
-start :: CommandStart
-start = do
+start :: UUID -> CommandStart
+start theiruuid = do
servermode <- liftIO $
Checks.checkEnvSet Checks.readOnlyEnv >>= return . \case
True -> P2P.ServeReadOnly
False -> P2P.ServeReadWrite
- theiruuid <- Fields.getField Fields.remoteUUID >>= \case
- Nothing -> giveup "missing remoteuuid field"
- Just u -> return (toUUID u)
myuuid <- getUUID
conn <- stdioP2PConnection <$> Annex.gitRepo
let server = do