convert safeSystem to boolSystem
to fix ctrl-c handling
This commit is contained in:
parent
fa04c36fbe
commit
d92f186fc4
2 changed files with 6 additions and 8 deletions
|
@ -7,7 +7,6 @@
|
|||
|
||||
module Backend.URL (backend) where
|
||||
|
||||
import Control.Exception
|
||||
import Control.Monad.State (liftIO)
|
||||
import Data.String.Utils
|
||||
import System.Cmd
|
||||
|
@ -16,6 +15,7 @@ import System.Exit
|
|||
|
||||
import TypeInternals
|
||||
import Core
|
||||
import Utility
|
||||
|
||||
backend = Backend {
|
||||
name = "URL",
|
||||
|
@ -42,10 +42,6 @@ downloadUrl :: Key -> FilePath -> Annex Bool
|
|||
downloadUrl key file = do
|
||||
showNote "downloading"
|
||||
liftIO $ putStrLn "" -- make way for curl progress bar
|
||||
result <- liftIO $ (try curl::IO (Either SomeException ()))
|
||||
case result of
|
||||
Left err -> return False
|
||||
Right succ -> return True
|
||||
liftIO $ boolSystem "curl" ["-#", "-o", file, url]
|
||||
where
|
||||
curl = safeSystem "curl" ["-#", "-o", file, url]
|
||||
url = join ":" $ drop 1 $ split ":" $ show key
|
||||
|
|
|
@ -35,6 +35,7 @@ module GitRepo (
|
|||
notInRepo
|
||||
) where
|
||||
|
||||
import Monad (when, unless)
|
||||
import Directory
|
||||
import System
|
||||
import System.Directory
|
||||
|
@ -183,10 +184,11 @@ gitCommandLine repo@(Repo { location = Dir d} ) params =
|
|||
["--git-dir="++d++"/"++(dir repo), "--work-tree="++d] ++ params
|
||||
gitCommandLine repo _ = assertLocal repo $ error "internal"
|
||||
|
||||
{- Runs git in the specified repo. -}
|
||||
{- Runs git in the specified repo, throwing an error if it fails. -}
|
||||
run :: Repo -> [String] -> IO ()
|
||||
run repo params = assertLocal repo $ do
|
||||
safeSystem "git" (gitCommandLine repo params)
|
||||
ok <- boolSystem "git" (gitCommandLine repo params)
|
||||
unless (ok) $ error $ "git " ++ (show params) ++ " failed"
|
||||
|
||||
{- Runs a git subcommand and returns its output. -}
|
||||
pipeRead :: Repo -> [String] -> IO String
|
||||
|
|
Loading…
Reference in a new issue