mirror of
https://github.com/git/git.git
synced 2024-12-14 04:18:16 +08:00
Allow specifying the remote helper in the url
The common case for remote helpers will be to import some repository which can be specified by a single URL. Support this use case by allowing users to say: git clone hg::https://soc.googlecode.com/hg/ soc Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c578f51d52
commit
87422439d1
10
transport.c
10
transport.c
@ -818,6 +818,16 @@ struct transport *transport_get(struct remote *remote, const char *url)
|
|||||||
url = remote->url[0];
|
url = remote->url[0];
|
||||||
ret->url = url;
|
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) {
|
if (remote && remote->foreign_vcs) {
|
||||||
transport_helper_init(ret, remote->foreign_vcs);
|
transport_helper_init(ret, remote->foreign_vcs);
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user