From: Daniel Barkalow Date: Fri, 4 Sep 2009 02:13:49 +0000 (-0400) Subject: Make the "traditionally-supported" URLs a special case X-Git-Tag: v1.6.5-rc1~11^2~2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=c9e388bb48bdafdf19574add915ab0ce33a1907d;p=git.git Make the "traditionally-supported" URLs a special case Instead of trying to make http://, https://, and ftp:// URLs indicative of some sort of pattern of transport helper usage, make them a special case which runs the "curl" helper, and leave the mechanism by which arbitrary helpers will be chosen entirely to future work. Signed-off-by: Daniel Barkalow Signed-off-by: Junio C Hamano --- diff --git a/Makefile b/Makefile index 438cffb44..8c44e357c 100644 --- a/Makefile +++ b/Makefile @@ -981,8 +981,7 @@ else else CURL_LIBCURL = -lcurl endif - CURL_SYNONYMS = git-remote-https$X git-remote-ftp$X - PROGRAMS += git-remote-http$X $(CURL_SYNONYMS) git-http-fetch$X + PROGRAMS += git-remote-curl$X git-http-fetch$X curl_check := $(shell (echo 070908; curl-config --vernum) | sort -r | sed -ne 2p) ifeq "$(curl_check)" "070908" ifndef NO_EXPAT @@ -1497,16 +1496,10 @@ git-http-push$X: revision.o http.o http-push.o $(GITLIBS) $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \ $(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT) -git-remote-http$X: remote-curl.o http.o http-walker.o $(GITLIBS) +git-remote-curl$X: remote-curl.o http.o http-walker.o $(GITLIBS) $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \ $(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT) -$(CURL_SYNONYMS): git-remote-http$X - $(QUIET_LNCP)$(RM) $@ && \ - ln $< $@ 2>/dev/null || \ - ln -s $< $@ 2>/dev/null || \ - cp $< $@ - $(LIB_OBJS) $(BUILTIN_OBJS): $(LIB_H) $(patsubst git-%$X,%.o,$(PROGRAMS)) git.o: $(LIB_H) $(wildcard */*.h) builtin-revert.o wt-status.o: wt-status.h @@ -1688,12 +1681,6 @@ endif ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \ cp "$$execdir/git$X" "$$execdir/$$p" || exit; \ done; } && \ - { for p in $(CURL_SYNONYMS); do \ - $(RM) "$$execdir/$$p" && \ - ln "$$execdir/git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \ - ln -s "git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \ - cp "$$execdir/git-remote-http$X" "$$execdir/$$p" || exit; \ - done; } && \ ./check_bindir "z$$bindir" "z$$execdir" "$$bindir/git-add$X" install-doc: diff --git a/transport-helper.c b/transport-helper.c index 43fdc0a43..468487772 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -152,13 +152,10 @@ static struct ref *get_refs_list(struct transport *transport, int for_push) return ret; } -int transport_helper_init(struct transport *transport) +int transport_helper_init(struct transport *transport, const char *name) { struct helper_data *data = xcalloc(sizeof(*data), 1); - char *eom = strchr(transport->url, ':'); - if (!eom) - return -1; - data->name = xstrndup(transport->url, eom - transport->url); + data->name = name; transport->data = data; transport->get_refs_list = get_refs_list; diff --git a/transport.c b/transport.c index 9935c85cf..b654d71d5 100644 --- a/transport.c +++ b/transport.c @@ -818,7 +818,7 @@ struct transport *transport_get(struct remote *remote, const char *url) } else if (!prefixcmp(url, "http://") || !prefixcmp(url, "https://") || !prefixcmp(url, "ftp://")) { - transport_helper_init(ret); + transport_helper_init(ret, "curl"); #ifdef NO_CURL error("git was compiled without libcurl support."); #else diff --git a/transport.h b/transport.h index df8726463..b49c10f57 100644 --- a/transport.h +++ b/transport.h @@ -78,6 +78,6 @@ int transport_disconnect(struct transport *transport); char *transport_anonymize_url(const char *url); /* Transport methods defined outside transport.c */ -int transport_helper_init(struct transport *transport); +int transport_helper_init(struct transport *transport, const char *name); #endif