From 3c263cc9ea7fe5dc5b07db4a66281cda752fc6b3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 7 Nov 2011 16:34:12 -0400 Subject: [PATCH] fix --- Remote.hs | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Remote.hs b/Remote.hs index d4fbf36cf0..1591512ef1 100644 --- a/Remote.hs +++ b/Remote.hs @@ -107,21 +107,19 @@ byName' n = do - .git/config. -} nameToUUID :: String -> Annex UUID nameToUUID "." = getUUID -- special case for current repo -nameToUUID n = do - res <- byName' n - case res of - Left e -> fromMaybe (error e) <$> byDescription - Right r -> return $ uuid r +nameToUUID n = byName' n >>= go where - byDescription = do + go (Right r) = return $ uuid r + go (Left e) = fromMaybe (error e) <$> bydescription + bydescription = do m <- uuidMap - case M.lookup wantuuid $ transform swap m of + case M.lookup n $ transform swap m of Just u -> return $ Just u - Nothing -> return $ M.lookup wantuuid $ transform double m + Nothing -> return $ byuuid m + byuuid m = M.lookup (read n) $ transform double m transform a = M.fromList . map a . M.toList swap (a, b) = (b, a) - double (a, _) = (show a, a) - wantuuid = read n + double (a, _) = (a, a) {- Pretty-prints a list of UUIDs of remotes, for human display. -