summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Remote.hs4
-rw-r--r--debian/changelog3
2 files changed, 6 insertions, 1 deletions
diff --git a/Remote.hs b/Remote.hs
index 456716c6e..22e304de3 100644
--- a/Remote.hs
+++ b/Remote.hs
@@ -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),
diff --git a/debian/changelog b/debian/changelog
index 348aa7bc1..8dffeca12 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -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