summaryrefslogtreecommitdiff
path: root/transport.c
diff options
context:
space:
mode:
authorDaniel Barkalow <barkalow@iabervon.org>2009-11-18 02:42:22 +0100
committerJunio C Hamano <gitster@pobox.com>2009-11-17 21:45:44 -0800
commitfb0cc87ec0f1e9c13b27ea2c89127991d44ed3d3 (patch)
tree04e16037f6f5a3e20d621e0f1c91cc33ba730439 /transport.c
parentf2a37151d4624906e34a9bcafb2ad79d0e8cb7ec (diff)
downloadgit-fb0cc87ec0f1e9c13b27ea2c89127991d44ed3d3.tar.gz
Allow programs to not depend on remotes having urls
For fetch and ls-remote, which use the first url of a remote, have transport_get() determine this by passing a remote and passing NULL for the url. For push, which uses every url of a remote, use each url in turn if there are any, and use NULL if there are none. This will allow the transport code to do something different if the location is not specified with a url. Also, have the message for a fetch say "foreign" if there is no url. Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'transport.c')
-rw-r--r--transport.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/transport.c b/transport.c
index 644a30a0b2..9daa68609f 100644
--- a/transport.c
+++ b/transport.c
@@ -813,6 +813,9 @@ struct transport *transport_get(struct remote *remote, const char *url)
struct transport *ret = xcalloc(1, sizeof(*ret));
ret->remote = remote;
+
+ if (!url && remote && remote->url)
+ url = remote->url[0];
ret->url = url;
if (!prefixcmp(url, "rsync:")) {