Thread (12 messages) flat view 12 messages, 3 authors, 2016-06-15

Re: [PATCH 2/2] fetch/push: readd rsync support

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:43:37

Hi,

On Fri, 28 Sep 2007, Shawn O. Pearce wrote:
Johannes Schindelin [off-list ref] wrote:
quoted
+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.
Strange.  When not assigning disconnect, I had an error last night.  But 
it could well be something independent.

Reading the code again, I should not even have to assign NULL to 
ret->disconnect.

Will fix.
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 know.  I hesitated, but then: it was all too easy to have it in, so why 
should we relinquish it?
I guess it is nice to see that you can't kill rsync.  Like Windows it 
always finds it way back into your life.
Hehe.

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help