aboutsummaryrefslogtreecommitdiff
path: root/Annex/Ingest.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2016-06-09 15:17:08 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2016-06-09 15:17:08 -0400
commit37bc59962a9546682ae596e2c65099ca76accff2 (patch)
treea158ab8e8f3c79e61ea6a121e89e2fa22772be7f /Annex/Ingest.hs
parent37b2a0d1ab5b0485869df3c91c81de021a11f185 (diff)
Make git clean filter preserve the backend that was used for a file.
Diffstat (limited to 'Annex/Ingest.hs')
-rw-r--r--Annex/Ingest.hs10
1 files changed, 7 insertions, 3 deletions
diff --git a/Annex/Ingest.hs b/Annex/Ingest.hs
index 95bbff496..7b1db8aa7 100644
--- a/Annex/Ingest.hs
+++ b/Annex/Ingest.hs
@@ -11,6 +11,7 @@ module Annex.Ingest (
lockDown,
ingestAdd,
ingest,
+ ingest',
finishIngestDirect,
finishIngestUnlocked,
cleanOldKeys,
@@ -140,9 +141,12 @@ ingestAdd ld@(Just (LockedDown cfg source)) = do
- tree or the index.
-}
ingest :: Maybe LockedDown -> Annex (Maybe Key, Maybe InodeCache)
-ingest Nothing = return (Nothing, Nothing)
-ingest (Just (LockedDown cfg source)) = withTSDelta $ \delta -> do
- backend <- chooseBackend $ keyFilename source
+ingest = ingest' Nothing
+
+ingest' :: Maybe Backend -> Maybe LockedDown -> Annex (Maybe Key, Maybe InodeCache)
+ingest' _ Nothing = return (Nothing, Nothing)
+ingest' preferredbackend (Just (LockedDown cfg source)) = withTSDelta $ \delta -> do
+ backend <- maybe (chooseBackend $ keyFilename source) (return . Just) preferredbackend
k <- genKey source backend
let src = contentLocation source
ms <- liftIO $ catchMaybeIO $ getFileStatus src