migrate: Fix support for --backend option.

This commit is contained in:
Joey Hess 2011-01-11 21:32:38 -04:00
parent b557a2ccf4
commit e18a4d566b
3 changed files with 10 additions and 4 deletions

View file

@ -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

1
debian/changelog vendored
View file

@ -4,6 +4,7 @@ git-annex (0.18) UNRELEASED; urgency=low
after transferring the file to the remote repository.
(Did not affect ssh remotes.)
* fsck: Fix bug in moving of corrupted files to .git/annex/bad/
* migrate: Fix support for --backend option.
* Test suite improvements. Current top-level test coverage: 75%
-- Joey Hess <joeyh@debian.org> Tue, 11 Jan 2011 16:05:25 -0400

View file

@ -328,8 +328,8 @@ test_migrate = "git-annex migrate" ~: TestList [t False, t True]
if usegitattributes
then do
writeFile ".gitattributes" "* annex.backend=SHA1"
git_annex "migrate" [sha1annexedfile] @? "migrate to same backend failed"
git_annex "migrate" [annexedfile] @? "migrate to different backend failed"
git_annex "migrate" ["-q", sha1annexedfile] @? "migrate to same backend failed"
git_annex "migrate" ["-q", annexedfile] @? "migrate to different backend failed"
else do
git_annex "migrate" [sha1annexedfile, "--backend=SHA1"] @? "migrate to same backend failed"
git_annex "migrate" [annexedfile, "--backend=SHA1"] @? "migrate to different backend failed"