git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] Add NO_RSYNC to allow building without rsync

From
Aidan Van Dyk <aidan@highrise.ca>
Date
Jul 30, 2008, 18:52 UTC
Message-ID
<20080730185225.GG10399@yugib.highrise.ca>
This is similar to NO_CURL.
Signed-off-by: Aidan Van Dyk <aidan@highrise.ca>
---

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
Next: Linus Torvalds
Message 1 of 6 in “Add NO_RSYNC to allow building without rsync”
  1. Add NO_RSYNC to allow building without rsyncAidan Van Dyk, Jul 30, 2008
  2. Linus TorvaldsJul 30, 2008
  3. Aidan Van DykJul 30, 2008
  4. Junio C HamanoJul 30, 2008
  5. Aidan Van DykJul 30, 2008
  6. Boyd Lynn GerberJul 30, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.