summaryrefslogtreecommitdiff
path: root/Command/Unused.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-10-04 19:56:32 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-10-04 19:56:32 -0400
commitcd699ff50b8434b52e2f51d06414e8431b407482 (patch)
tree77291f6d6f6c340c41f9da5b3bbfeae4117d7764 /Command/Unused.hs
parentbdbfe36e945e97d66c965bc7227d1457372bce32 (diff)
fix last zombies in the assistant
Made Git.LsFiles return cleanup actions, and everything waits on processes now, except of course for Seek.
Diffstat (limited to 'Command/Unused.hs')
-rw-r--r--Command/Unused.hs10
1 files changed, 7 insertions, 3 deletions
diff --git a/Command/Unused.hs b/Command/Unused.hs
index 6fb8f36c6..79285f7d1 100644
--- a/Command/Unused.hs
+++ b/Command/Unused.hs
@@ -228,10 +228,14 @@ withKeysReferencedM a = withKeysReferenced' () calla
calla k _ = a k
withKeysReferenced' :: v -> (Key -> v -> Annex v) -> Annex v
-withKeysReferenced' initial a = go initial =<< files
+withKeysReferenced' initial a = do
+ (files, clean) <- getfiles
+ r <- go initial files
+ liftIO $ void clean
+ return r
where
- files = ifM isBareRepo
- ( return []
+ getfiles = ifM isBareRepo
+ ( return ([], return True)
, do
top <- fromRepo Git.repoPath
inRepo $ LsFiles.inRepo [top]