[PATCH 5/7] Finally make remote helper support useful
- From
Sverre Rabbelier <srabbelier@gmail.com>
- Date
- Oct 29, 2009, 06:40 UTC
- Message-ID
- <1256798426-21816-6-git-send-email-srabbelier@gmail.com>
- In-Reply-To
- <1256798426-21816-1-git-send-email-srabbelier@gmail.com>
From: Johannes Schindelin <johannes.schindelin@gmx.de>
The common case for remote helpers will be to import some repository which can be specified by a single URL. Rather than supporting those who say that Git is really complicated, let's be nice to users so that they will be able 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> --
Dscho wrote this a while back and it really does make the series so much more useful.
transport.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/transport.c b/transport.c index ef33404..a682c75 100644 --- a/transport.c +++ b/transport.c @@ -813,6 +813,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;
-- 1.6.5.2.291.gf76a3