Allow specifying the remote helper in the url
[git/git.git] / transport.c
index 13bab4e..5d814b5 100644 (file)
@@ -818,6 +818,16 @@ struct transport *transport_get(struct remote *remote, const char *url)
                url = remote->url[0];
        ret->url = url;
 
+       /* maybe it is a foreign URL? */
+       if (url) {
+               const char *p = url;
+
+               while (isalnum(*p))
+                       p++;
+               if (!prefixcmp(p, "::"))
+                       remote->foreign_vcs = xstrndup(url, p - url);
+       }
+
        if (remote && remote->foreign_vcs) {
                transport_helper_init(ret, remote->foreign_vcs);
                return ret;