Re: [PATCH 2/2] fetch/push: readd rsync support
From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:43:37
Johannes Schindelin [off-list ref] wrote:
quoted hunk ↗ jump to hunk
+static int disconnect_rsync(struct transport *transport) +{ + return 0; +} /* Generic functions for using commit walkers */@@ -402,7 +730,10 @@ struct transport *transport_get(struct remote *remote, const char *url) ret->url = url; if (!prefixcmp(url, "rsync://")) { - /* not supported; don't populate any ops */ + ret->get_refs_list = get_refs_via_rsync; + ret->fetch = fetch_objs_via_rsync; + ret->push = rsync_transport_push; + ret->disconnect = disconnect_rsync; } else if (!prefixcmp(url, "http://") || !prefixcmp(url, "https://")
For what it's worth disconnect is an optional operation. You did
not need to implement it if you don't allocate a data member in
the struct transport. So removing disconnect_rsync() could save
you 6 lines or so.
I see push is now supported again. Didn't we remove rsync push
support a long time ago? Like say in:
commit c485104741ccdf32dd0c96fcb886c38a0b5badbd
Author: c.shoemaker@cox.net [off-list ref]
Date: Sat Oct 29 00:16:33 2005 -0400
Add usage help to git-push.sh
Also clarify failure to push to read-only remote. Especially,
state why rsync:// is not used for pushing.
[jc: ideally rsync should not be used for anything]
Signed-off-by: Chris Shoemaker <c.shoemaker at cox.net>
Signed-off-by: Junio C Hamano [off-list ref]
I guess it is nice to see that you can't kill rsync. Like Windows
it always finds it way back into your life.
--
Shawn.