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.
This commit is contained in:
parent
5d75919561
commit
c1dc407941
4 changed files with 12 additions and 5 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue