module Git where
import System.Directory
import System.FilePath ()
import System.Process
clone :: String
-> FilePath
-> IO ()
clone url dir = putStr =<< readProcess "git"
[ "clone"
, "--single-branch"
, "--depth=1"
, url
, dir] []
cloneRevision :: String
-> String
-> FilePath
-> IO ()
cloneRevision url revision dir = do
putStr =<< readProcess "git" [ "clone", url, dir ] []
currentDir <- getCurrentDirectory
setCurrentDirectory dir
putStr =<< readProcess "git" [ "checkout", revision, "--force" ] []
setCurrentDirectory currentDir