From 062286135c6bc3a3402408f5405a6a0d742b0906 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 31 Jan 2017 19:07:24 -0400 Subject: [PATCH] unused: When large files are checked right into git, avoid buffering their contents in memory. This makes it a little bit slower since it has to check file size, but worth it to fix a potential memory use problem. This commit was sponsored by Fernando Jimenez on Patreon. --- CHANGELOG | 2 ++ Command/Unused.hs | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 634b22082f..53bf07753b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -9,6 +9,8 @@ git-annex (6.20170102) UNRELEASED; urgency=medium * config: New command for storing configuration in the git-annex branch. * stack.yaml: Update to lts-7.18. * Some optimisations to string splitting code. + * unused: When large files are checked right into git, avoid buffering + their contents in memory. -- Joey Hess Fri, 06 Jan 2017 15:22:06 -0400 diff --git a/Command/Unused.hs b/Command/Unused.hs index 3953f44861..916e6db252 100644 --- a/Command/Unused.hs +++ b/Command/Unused.hs @@ -25,7 +25,6 @@ import qualified Git.LsFiles as LsFiles import qualified Git.DiffTree as DiffTree import qualified Remote import qualified Annex.Branch -import Annex.Link import Annex.CatFile import Annex.WorkTree import Types.RefSpec @@ -272,8 +271,7 @@ withKeysReferencedDiff a getdiff extractsha = do go d = do let sha = extractsha d unless (sha == nullSha) $ - (parseLinkOrPointer <$> catObject sha) - >>= maybe noop a + catKey sha >>= maybe noop a {- Filters out keys that have an associated file that's not modified. -} associatedFilesFilter :: [Key] -> Annex [Key] -- 2.39.5