From 0d65fdeb1dcb414b0fb1d5719dd734a1b04da1e5 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 22 Nov 2014 00:44:13 -0400 Subject: propellor spin --- src/Propellor/Server.hs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'src/Propellor') diff --git a/src/Propellor/Server.hs b/src/Propellor/Server.hs index fde9c2ec..06fede7e 100644 --- a/src/Propellor/Server.hs +++ b/src/Propellor/Server.hs @@ -27,17 +27,19 @@ import Utility.SafeCommand -- running the updateServer update :: IO () update = do - req NeedRepoUrl repoUrlMarker setRepoUrl + whenM hasOrigin $ + req NeedRepoUrl repoUrlMarker setRepoUrl makePrivDataDir req NeedPrivData privDataMarker $ writeFileProtected privDataLocal - req NeedGitPush gitPushMarker $ \_ -> do - hin <- dup stdInput - hout <- dup stdOutput - hClose stdin - hClose stdout - unlessM (boolSystem "git" (pullparams hin hout)) $ - errorMessage "git pull from client failed" + whenM hasOrigin $ + req NeedGitPush gitPushMarker $ \_ -> do + hin <- dup stdInput + hout <- dup stdOutput + hClose stdin + hClose stdout + unlessM (boolSystem "git" (pullparams hin hout)) $ + errorMessage "git pull from client failed" where pullparams hin hout = [ Param "pull" @@ -76,6 +78,7 @@ updateServer hn hst connect = connect go hClose toh hClose fromh sendPrecompiled hn + loop Nothing -> return () sendRepoUrl :: Handle -> IO () -- cgit v1.2.3