summaryrefslogtreecommitdiff
path: root/src/Propellor/Spin.hs
diff options
context:
space:
mode:
authorJoey Hess2017-07-13 11:10:27 -0400
committerJoey Hess2017-07-13 11:10:27 -0400
commit043cd2218efb8e3d2f04ae2faff38293a01ed0c5 (patch)
tree6a65363f435863139950616cc12ca7ef74042fdf /src/Propellor/Spin.hs
parent62202b9331f223c7a1dbd8385a2126e45058df83 (diff)
Revert "disable buffering earlier"
This reverts commit 632137836b39462883483a621f9dd696ce1d73cc. Still failing :( Seems that disabling buffering is not the solution.
Diffstat (limited to 'src/Propellor/Spin.hs')
-rw-r--r--src/Propellor/Spin.hs13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/Propellor/Spin.hs b/src/Propellor/Spin.hs
index 732ec9b7..7146ad4c 100644
--- a/src/Propellor/Spin.hs
+++ b/src/Propellor/Spin.hs
@@ -5,7 +5,6 @@ module Propellor.Spin (
spin,
spin',
update,
- updatePrepare,
gitPushHelper,
mergeSpin,
) where
@@ -350,20 +349,14 @@ findLastNonSpinCommit = do
spinCommitMessage :: String
spinCommitMessage = "propellor spin"
--- Avoid buffering anything read from stdin, so that
--- when gitPullFromUpdateServer runs git fetch, it sees all the data
--- it expects to.
---
--- Should be called very early in propellor start, before anything reads
--- from stdin.
-updatePrepare :: IO ()
-updatePrepare = hSetBuffering stdin NoBuffering
-
-- Stdin and stdout are connected to the updateServer over ssh.
-- Request that it run git upload-pack, and connect that up to a git fetch
-- to receive the data.
gitPullFromUpdateServer :: IO ()
gitPullFromUpdateServer = reqMarked NeedGitPush gitPushMarker $ \_ -> do
+ -- Note that this relies on data not being buffered in the stdin
+ -- Handle, since such buffered data would not be available in the
+ -- FD passed to git fetch.
hin <- dup stdInput
hout <- dup stdOutput
hClose stdin