Bugfix: If the UUID of a remote is not known, prevent --from, --to, and other ways of specifying remotes by name from selecting it, since it is not possible to sanely use it.

For example, copy --to such a remote would send the file, but as NoUUID was
its uuid, no location log update was done. And drop --from such a remote
would not do anything, because NoUUID is not listed in the location log..
This commit is contained in:
Joey Hess 2013-03-04 21:32:57 -04:00
parent 59994d3e8f
commit 9769235d6b
2 changed files with 6 additions and 1 deletions

View file

@ -81,7 +81,9 @@ byName' "" = return $ Left "no remote specified"
byName' n = handle . filter matching <$> remoteList
where
handle [] = Left $ "there is no available git remote named \"" ++ n ++ "\""
handle match = Right $ Prelude.head match
handle (match:_)
| uuid match == NoUUID = Left $ "cannot determine uuid for " ++ name match
| otherwise = Right match
matching r = n == name r || toUUID n == uuid r
{- Looks up a remote by name (or by UUID, or even by description),

3
debian/changelog vendored
View file

@ -20,6 +20,9 @@ git-annex (4.20130228) UNRELEASED; urgency=low
set to direct mode when it was transferred.
* webapp: Proceed automatically on from "Configure jabber account"
to pairing.
* Bugfix: If the UUID of a remote is not known, prevent --from, --to,
and other ways of specifying remotes by name from selecting it,
since it is not possible to sanely use it.
-- Joey Hess <joeyh@debian.org> Wed, 27 Feb 2013 23:20:40 -0400