summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-03-01 12:44:54 +0000
committerZac Medico <zmedico@gentoo.org>2007-03-01 12:44:54 +0000
commit660883807beaf2dd316c19c062bc52e6de19a43b (patch)
treead46c881d9816e43e2fd41d6902ef23368be84e1 /pym
parentee6c173cc45bb40ecc7052fe740a33072a11051c (diff)
downloadportage-660883807beaf2dd316c19c062bc52e6de19a43b.tar.gz
portage-660883807beaf2dd316c19c062bc52e6de19a43b.tar.bz2
portage-660883807beaf2dd316c19c062bc52e6de19a43b.zip
For bug #168646, don't bail out immediately when rsync detects protocol incompatibility (code 2) during fetching of the timestamp file. Retry for a better server (up to PORTAGE_RSYNC_RETRIES).
svn path=/main/trunk/; revision=6104
Diffstat (limited to 'pym')
-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