{-# LANGUAGE DeriveDataTypeable #-}
module Propellor.Property.PropellorRepo where
import Propellor.Base
import Propellor.Git.Config
import Propellor.Types.Info
hasOriginUrl :: String -> Property (HasInfo + UnixLike)
hasOriginUrl u = setInfoProperty p (toInfo (InfoVal (OriginUrl u)))
where
p :: Property UnixLike
p = property ("propellor repo url " ++ u) $ do
curru <- liftIO getRepoUrl
if curru == Just u
then return NoChange
else makeChange $ setRepoUrl u
newtype OriginUrl = OriginUrl String
deriving (Show, Typeable)