summaryrefslogtreecommitdiff
path: root/Backend/SHA.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Backend/SHA.hs')
-rw-r--r--Backend/SHA.hs13
1 files changed, 7 insertions, 6 deletions
diff --git a/Backend/SHA.hs b/Backend/SHA.hs
index c2a6cf976..df613bbcd 100644
--- a/Backend/SHA.hs
+++ b/Backend/SHA.hs
@@ -69,9 +69,10 @@ shaN size file = do
command = fromJust $ shaCommand size
{- A key is a checksum of its contents. -}
-keyValue :: SHASize -> FilePath -> Annex (Maybe Key)
-keyValue size file = do
- s <- shaN size file
+keyValue :: SHASize -> KeySource -> Annex (Maybe Key)
+keyValue size source = do
+ let file = contentLocation source
+ s <- shaN size file
stat <- liftIO $ getFileStatus file
return $ Just $ stubKey
{ keyName = s
@@ -80,14 +81,14 @@ keyValue size file = do
}
{- Extension preserving keys. -}
-keyValueE :: SHASize -> FilePath -> Annex (Maybe Key)
-keyValueE size file = keyValue size file >>= maybe (return Nothing) addE
+keyValueE :: SHASize -> KeySource -> Annex (Maybe Key)
+keyValueE size source = keyValue size source >>= maybe (return Nothing) addE
where
addE k = return $ Just $ k
{ keyName = keyName k ++ extension
, keyBackendName = shaNameE size
}
- naiveextension = takeExtension file
+ naiveextension = takeExtension $ keyFilename source
extension
-- long or newline containing extensions are
-- probably not really an extension