summaryrefslogtreecommitdiff
path: root/Annex/Link.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2016-03-14 15:58:46 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2016-03-14 15:58:46 -0400
commit90db9740d0d64b34f2e46f57f8aaca235088734c (patch)
treeac4d7e1b03bfcc337d02569acb87a1481f610746 /Annex/Link.hs
parent9b29bd39c8dbf23bdf6930b51aba13992ccc49de (diff)
Sped up git-annex add in direct mode and v6 by using git hash-object --batch.
Speeds up hashSymlink and hashPointerFile.
Diffstat (limited to 'Annex/Link.hs')
-rw-r--r--Annex/Link.hs12
1 files changed, 3 insertions, 9 deletions
diff --git a/Annex/Link.hs b/Annex/Link.hs
index 629e77d7f..b191bce6f 100644
--- a/Annex/Link.hs
+++ b/Annex/Link.hs
@@ -18,11 +18,11 @@ module Annex.Link where
import Annex.Common
import qualified Annex
-import qualified Git.HashObject
import qualified Git.UpdateIndex
import qualified Annex.Queue
import Git.Types
import Git.FilePath
+import Annex.HashObject
import qualified Data.ByteString.Lazy as L
import Data.Int
@@ -105,12 +105,7 @@ addAnnexLink linktarget file = do
{- Injects a symlink target into git, returning its Sha. -}
hashSymlink :: LinkTarget -> Annex Sha
-hashSymlink linktarget = inRepo $ Git.HashObject.hashObject BlobObject $
- toInternalGitPath linktarget
-
-hashSymlink' :: Git.HashObject.HashObjectHandle -> LinkTarget -> Annex Sha
-hashSymlink' h linktarget = liftIO $ Git.HashObject.hashBlob h $
- toInternalGitPath linktarget
+hashSymlink linktarget = hashBlob (toInternalGitPath linktarget)
{- Stages a symlink to an annexed object, using a Sha of its target. -}
stageSymlink :: FilePath -> Sha -> Annex ()
@@ -120,8 +115,7 @@ stageSymlink file sha =
{- Injects a pointer file content into git, returning its Sha. -}
hashPointerFile :: Key -> Annex Sha
-hashPointerFile key = inRepo $ Git.HashObject.hashObject BlobObject $
- formatPointer key
+hashPointerFile key = hashBlob (formatPointer key)
{- Stages a pointer file, using a Sha of its content -}
stagePointerFile :: FilePath -> Sha -> Annex ()