This is similar to NO_CURL. Signed-off-by: Aidan Van Dyk <aidan@xxxxxxxxxxx> --- I came about this because SCO OpenServer doesnt' have mkdtemp. But I never use rsync, so making it optional was an easy fix. Makefile | 4 ++++ transport.c | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletions(-) diff --git a/Makefile b/Makefile index 798a2f2..b0a2985 100644 --- a/Makefile +++ b/Makefile @@ -789,6 +789,10 @@ else CC_LD_DYNPATH = -R endif +ifdef NO_RSYNC + BASIC_CFLAGS += -DNO_RSYNC +endif + ifdef NO_CURL BASIC_CFLAGS += -DNO_CURL else diff --git a/transport.c b/transport.c index 6eb65b8..867b01f 100644 --- a/transport.c +++ b/transport.c @@ -142,6 +142,7 @@ static void insert_packed_refs(const char *packed_refs, struct ref **list) } } +#ifndef NO_RSYNC static struct ref *get_refs_via_rsync(struct transport *transport) { struct strbuf buf = STRBUF_INIT, temp_dir = STRBUF_INIT; @@ -232,6 +233,7 @@ static int fetch_objs_via_rsync(struct transport *transport, return result; } +#endif static int write_one_ref(const char *name, const unsigned char *sha1, int flags, void *data) @@ -276,6 +278,7 @@ static int write_refs_to_temp_dir(struct strbuf *temp_dir, return 0; } +#ifndef NO_RSYNC static int rsync_transport_push(struct transport *transport, int refspec_nr, const char **refspec, int flags) { @@ -345,6 +348,7 @@ static int rsync_transport_push(struct transport *transport, return result; } +#endif /* Generic functions for using commit walkers */ @@ -731,10 +735,13 @@ struct transport *transport_get(struct remote *remote, const char *url) ret->url = url; if (!prefixcmp(url, "rsync://")) { +#ifdef NO_RSYNC + error("git was compiled without rsync support."); +#else ret->get_refs_list = get_refs_via_rsync; ret->fetch = fetch_objs_via_rsync; ret->push = rsync_transport_push; - +#endif } else if (!prefixcmp(url, "http://") || !prefixcmp(url, "https://") || !prefixcmp(url, "ftp://")) { -- 1.6.0.rc1.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html