From ef883cbbe809498800f22ea8fd68d9102f64c27d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 22 Nov 2014 15:18:30 -0400 Subject: [PATCH] still do peer-to-peer git push when there are no git remotes --- src/Propellor/Git.hs | 3 +++ src/Propellor/Server.hs | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Propellor/Git.hs b/src/Propellor/Git.hs index e5f464c..ccf97b9 100644 --- a/src/Propellor/Git.hs +++ b/src/Propellor/Git.hs @@ -42,6 +42,9 @@ hasOrigin = catchDefaultIO False $ do rs <- lines <$> readProcess "git" ["remote"] return $ "origin" `elem` rs +hasGitRepo :: IO Bool +hasGitRepo = doesFileExist ".git/HEAD" + {- To verify origin branch commit's signature, have to convince gpg - to use our keyring. - While running git log. Which has no way to pass options to gpg. diff --git a/src/Propellor/Server.hs b/src/Propellor/Server.hs index 05a8856..bf3ba3f 100644 --- a/src/Propellor/Server.hs +++ b/src/Propellor/Server.hs @@ -31,7 +31,7 @@ import Utility.SafeCommand -- running the updateServer update :: Maybe HostName -> IO () update forhost = do - whenM hasOrigin $ + whenM hasGitRep $ req NeedRepoUrl repoUrlMarker setRepoUrl makePrivDataDir @@ -39,7 +39,7 @@ update forhost = do req NeedPrivData privDataMarker $ writeFileProtected privfile - whenM hasOrigin $ + whenM hasGitRepo $ req NeedGitPush gitPushMarker $ \_ -> do hin <- dup stdInput hout <- dup stdOutput