diff options
Diffstat (limited to 'Command')
-rw-r--r-- | Command/Migrate.hs | 9 |
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 |