diff --git a/Git/Remote.hs b/Git/Remote.hs index 69d6b52f40..7c6cfc267a 100644 --- a/Git/Remote.hs +++ b/Git/Remote.hs @@ -84,12 +84,17 @@ parseRemoteLocation s repo = ret $ calcloc s where replacement = decodeBS' $ S.drop (S.length prefix) $ S.take (S.length bestkey - S.length suffix) bestkey - (ConfigKey bestkey, ConfigValue bestvalue) = maximumBy longestvalue insteadofs + (bestkey, bestvalue) = + case maximumBy longestvalue insteadofs of + (ConfigKey k, ConfigValue v) -> (k, v) + (ConfigKey k, NoConfigValue) -> (k, mempty) longestvalue (_, a) (_, b) = compare b a - insteadofs = filterconfig $ \(ConfigKey k, ConfigValue v) -> - prefix `S.isPrefixOf` k && - suffix `S.isSuffixOf` k && - v `S.isPrefixOf` encodeBS l + insteadofs = filterconfig $ \case + (ConfigKey k, ConfigValue v) -> + prefix `S.isPrefixOf` k && + suffix `S.isSuffixOf` k && + v `S.isPrefixOf` encodeBS l + (_, NoConfigValue) -> False filterconfig f = filter f $ concatMap splitconfigs $ M.toList $ fullconfig repo splitconfigs (k, vs) = map (\v -> (k, v)) vs diff --git a/git-annex.cabal b/git-annex.cabal index 5ec68dd382..8c2e2c89d9 100644 --- a/git-annex.cabal +++ b/git-annex.cabal @@ -371,7 +371,7 @@ Executable git-annex tasty-quickcheck, tasty-rerun CC-Options: -Wall - GHC-Options: -Wall -fno-warn-tabs + GHC-Options: -Wall -fno-warn-tabs -Wincomplete-uni-patterns Extensions: PackageImports, LambdaCase -- Some things don't work with the non-threaded RTS. GHC-Options: -threaded