aboutsummaryrefslogtreecommitdiff
path: root/Git
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2016-01-01 15:50:59 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2016-01-01 15:51:29 -0400
commit131e38a3ae3d40fb38738e78df6fed4e4a1e6005 (patch)
tree75eee1170dea7d69d24984bbc0d167fcfe9d3a95 /Git
parent1646987bd266477e97c46dd79145db5cc06230c2 (diff)
wait for git lstree to exit
Diffstat (limited to 'Git')
-rw-r--r--Git/LsTree.hs9
1 files changed, 5 insertions, 4 deletions
diff --git a/Git/LsTree.hs b/Git/LsTree.hs
index 1ed62477e..13f3e4bcd 100644
--- a/Git/LsTree.hs
+++ b/Git/LsTree.hs
@@ -1,6 +1,6 @@
{- git ls-tree interface
-
- - Copyright 2011 Joey Hess <id@joeyh.name>
+ - Copyright 2011-2016 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
@@ -32,9 +32,10 @@ data TreeItem = TreeItem
{- Lists the complete contents of a tree, recursing into sub-trees,
- with lazy output. -}
-lsTree :: Ref -> Repo -> IO [TreeItem]
-lsTree t repo = map parseLsTree
- <$> pipeNullSplitZombie (lsTreeParams t []) repo
+lsTree :: Ref -> Repo -> IO ([TreeItem], IO Bool)
+lsTree t repo = do
+ (l, cleanup) <- pipeNullSplit (lsTreeParams t []) repo
+ return (map parseLsTree l, cleanup)
lsTreeParams :: Ref -> [CommandParam] -> [CommandParam]
lsTreeParams r ps =