For bug #168646, don't bail out immediately when rsync detects protocol incompatibili...
authorZac Medico <zmedico@gentoo.org>
Thu, 1 Mar 2007 12:44:54 +0000 (12:44 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 1 Mar 2007 12:44:54 +0000 (12:44 -0000)
svn path=/main/trunk/; revision=6104

pym/emerge/__init__.py

index 572baf883e69a1590872857e22dc9a769af7558a..e91f6b1a7044694b46ccb64b66751d70df9cb1c1 100644 (file)
@@ -4037,8 +4037,14 @@ def action_sync(settings, trees, mtimedb, myopts, myaction):
                                                env=settings.environ())
                                        if exitcode in [0,1,2,3,4,11,14,20,21]:
                                                break
-                       elif exitcode in [0,1,2,3,4,11,14,20,21]:
+                       elif exitcode in [1,3,4,11,14,20,21]:
                                break
+                       else:
+                               # Code 2 indicates protocol incompatibility, which is expected
+                               # for servers with protocol < 29 that don't support
+                               # --prune-empty-directories.  Retry for a server that supports
+                               # at least rsync protocol version 29 (>=rsync-2.6.7).
+                               pass
 
                        retries=retries+1