summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2017-01-31 19:07:24 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2017-01-31 19:09:37 -0400
commit7b1f48cbd5d78877ae3a6b6a5415a9bed6df79b2 (patch)
tree8cca3811dc181a57682eda1233a03c3433ee1b9e
parent7fd21be7f967bdc21530b730f595379b23fe1174 (diff)
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.
-rw-r--r--CHANGELOG2
-rw-r--r--Command/Unused.hs4
2 files changed, 3 insertions, 3 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 634b22082..53bf07753 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 <id@joeyh.name> Fri, 06 Jan 2017 15:22:06 -0400
diff --git a/Command/Unused.hs b/Command/Unused.hs
index 3953f4486..916e6db25 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]