summaryrefslogtreecommitdiff
path: root/Command.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-03-22 20:31:22 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-03-22 20:31:22 -0400
commitc1dc4079419cff94cca72441d5e67a866110ec7e (patch)
treede0fee3eacb276f3e008c86320b8ffe1345f5892 /Command.hs
parent5d759195618a96ce745b8ee559b439c86426a0f3 (diff)
Fix space leak in fsck and drop commands.
The space leak was somehow caused by this line: absfiles <- mapM absPath files I confess, I don't quite understand why this caused bad buffering, but apparently the whole pipeline from git-ls-files backed up at that point. Happily, rewriting the code to only get the cwd once and use a pure function to calculate absfiles clears it up, and should be a little more efficient in syscalls too.
Diffstat (limited to 'Command.hs')
-rw-r--r--Command.hs3
1 files changed, 1 insertions, 2 deletions
diff --git a/Command.hs b/Command.hs
index 1449d7eed..446b1b55f 100644
--- a/Command.hs
+++ b/Command.hs
@@ -132,8 +132,7 @@ withAttrFilesInGit :: String -> CommandSeekAttrFiles
withAttrFilesInGit attr a params = do
repo <- Annex.gitRepo
files <- liftIO $ runPreserveOrder (Git.inRepo repo) params
- files' <- filterFiles files
- liftM (map a) $ liftIO $ Git.checkAttr repo attr files'
+ liftM (map a) $ liftIO $ Git.checkAttr repo attr files
withBackendFilesInGit :: CommandSeekBackendFiles
withBackendFilesInGit a params = do
repo <- Annex.gitRepo