summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/emerge/__init__.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py
index 572baf883..e91f6b1a7 100644
--- a/pym/emerge/__init__.py
+++ b/pym/emerge/__init__.py
@@ -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