refactor ls-tree params

All in one place to avoid bugs like 174da80ddc
This commit is contained in:
Joey Hess 2015-07-06 14:21:43 -04:00
parent 174da80ddc
commit f7dc20595e
3 changed files with 10 additions and 14 deletions

View file

@ -34,16 +34,17 @@ data TreeItem = TreeItem
- with lazy output. -}
lsTree :: Ref -> Repo -> IO [TreeItem]
lsTree t repo = map parseLsTree
<$> pipeNullSplitZombie (lsTreeParams t) repo
<$> pipeNullSplitZombie (lsTreeParams t []) repo
lsTreeParams :: Ref -> [CommandParam]
lsTreeParams t =
lsTreeParams :: Ref -> [CommandParam] -> [CommandParam]
lsTreeParams r ps =
[ Param "ls-tree"
, Param "--full-tree"
, Param "-z"
, Param "-r"
, Param "--"
, File $ fromRef t
] ++ ps ++
[ Param "--"
, File $ fromRef r
]
{- Lists specified files in a tree. -}

View file

@ -341,7 +341,7 @@ verifyTree :: MissingObjects -> Sha -> Repo -> IO Bool
verifyTree missing treesha r
| S.member treesha missing = return False
| otherwise = do
(ls, cleanup) <- pipeNullSplit (LsTree.lsTreeParams treesha) r
(ls, cleanup) <- pipeNullSplit (LsTree.lsTreeParams treesha []) r
let objshas = map (extractSha . LsTree.sha . LsTree.parseLsTree) ls
if any isNothing objshas || any (`S.member` missing) (catMaybes objshas)
then do