summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Git/Construct.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/Git/Construct.hs b/Git/Construct.hs
index 663303c15..e367c096b 100644
--- a/Git/Construct.hs
+++ b/Git/Construct.hs
@@ -159,7 +159,10 @@ fromRemoteLocation s repo = gen $ calcloc s
(prefix, suffix) = ("url." , ".insteadof")
urlstyle v = isURI v || ":" `isInfixOf` v && "//" `isInfixOf` v
-- git remotes can be written scp style -- [user@]host:dir
- scpstyle v = ":" `isInfixOf` v && not ("//" `isInfixOf` v)
+ -- but foo::bar is a git-remote-helper location instead
+ scpstyle v = ":" `isInfixOf` v
+ && not ("//" `isInfixOf` v)
+ && not ("::" `isInfixOf` v)
scptourl v = "ssh://" ++ host ++ slash dir
where
(host, dir) = separate (== ':') v