diff options
author | Joey Hess <joey@kitenet.net> | 2012-10-04 19:56:32 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-10-04 19:56:32 -0400 |
commit | cd699ff50b8434b52e2f51d06414e8431b407482 (patch) | |
tree | 77291f6d6f6c340c41f9da5b3bbfeae4117d7764 /Command/Unused.hs | |
parent | bdbfe36e945e97d66c965bc7227d1457372bce32 (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.hs | 10 |
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] |