diff options
author | Joey Hess <joeyh@joeyh.name> | 2015-06-01 13:52:23 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2015-06-01 13:52:23 -0400 |
commit | 39c13f91004b41166b786785083e78b34df0c48f (patch) | |
tree | bf5ea0acf27c9075a63d3b23b970c3ea44ecee64 /Git/Repair.hs | |
parent | 3a9ca30fa8740a57ea477243498339f9738102d6 (diff) |
remove Params constructor from Utility.SafeCommand
This removes a bit of complexity, and should make things faster
(avoids tokenizing Params string), and probably involve less garbage
collection.
In a few places, it was useful to use Params to avoid needing a list,
but that is easily avoided.
Problems noticed while doing this conversion:
* Some uses of Params "oneword" which was entirely unnecessary
overhead.
* A few places that built up a list of parameters with ++
and then used Params to split it!
Test suite passes.
Diffstat (limited to 'Git/Repair.hs')
-rw-r--r-- | Git/Repair.hs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Git/Repair.hs b/Git/Repair.hs index 2557e3b83..46cf22123 100644 --- a/Git/Repair.hs +++ b/Git/Repair.hs @@ -99,7 +99,7 @@ retrieveMissingObjects :: FsckResults -> Maybe FilePath -> Repo -> IO FsckResult retrieveMissingObjects missing referencerepo r | not (foundBroken missing) = return missing | otherwise = withTmpDir "tmprepo" $ \tmpdir -> do - unlessM (boolSystem "git" [Params "init", File tmpdir]) $ + unlessM (boolSystem "git" [Param "init", File tmpdir]) $ error $ "failed to create temp repository in " ++ tmpdir tmpr <- Config.read =<< Construct.fromAbsPath tmpdir stillmissing <- pullremotes tmpr (remotes r) fetchrefstags missing @@ -140,7 +140,9 @@ retrieveMissingObjects missing referencerepo r ps' = [ Param "fetch" , Param fetchurl - , Params "--force --update-head-ok --quiet" + , Param "--force" + , Param "--update-head-ok" + , Param "--quiet" ] ++ ps fetchr' = fetchr { gitGlobalOpts = gitGlobalOpts fetchr ++ nogc } nogc = [ Param "-c", Param "gc.auto=0" ] |