summaryrefslogtreecommitdiff
path: root/Command
diff options
context:
space:
mode:
Diffstat (limited to 'Command')
-rw-r--r--Command/Migrate.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/Command/Migrate.hs b/Command/Migrate.hs
index 3d6121437..59ad36a2b 100644
--- a/Command/Migrate.hs
+++ b/Command/Migrate.hs
@@ -27,15 +27,20 @@ seek :: [CommandSeek]
seek = [withBackendFilesInGit start]
start :: CommandStartBackendFile
-start (_, Nothing) = return Nothing
-start (file, Just newbackend) = isAnnexed file $ \(key, oldbackend) -> do
+start (file, b) = isAnnexed file $ \(key, oldbackend) -> do
exists <- inAnnex key
+ newbackend <- choosebackend b
if (newbackend /= oldbackend) && exists
then do
showStart "migrate" file
return $ Just $ perform file key newbackend
else
return Nothing
+ where
+ choosebackend Nothing = do
+ backends <- Backend.list
+ return $ head backends
+ choosebackend (Just backend) = return backend
perform :: FilePath -> Key -> Backend -> CommandPerform
perform file oldkey newbackend = do