diff options
Diffstat (limited to 'Annex')
-rw-r--r-- | Annex/Ingest.hs | 10 |
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 |