From 5123a1a83aa3b954fe67629508bab5ccea0e4148 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 4 Mar 2013 21:32:57 -0400 Subject: 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.. --- Remote.hs | 4 +++- debian/changelog | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) 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 Wed, 27 Feb 2013 23:20:40 -0400 -- cgit v1.2.3