summaryrefslogtreecommitdiffstats
path: root/subcmds/sync.py
diff options
context:
space:
mode:
authorDavid Pursehouse <david.pursehouse@sonymobile.com>2012-08-23 10:21:26 +0900
committergerrit code review <noreply-gerritcodereview@google.com>2012-09-06 11:18:25 -0700
commitbd489c4eaa592af98b8b4f09b0a465e0d2b6046a (patch)
tree6954a16b023daaea026d122251157c0b2db39367 /subcmds/sync.py
parent2dc810c2e4028878b9c3484866a5973d5c33479d (diff)
downloadgit-repo-bd489c4eaa592af98b8b4f09b0a465e0d2b6046a.tar.gz
sync: catch exceptions when connecting to the manifest server
When connecting to the manifest server, exceptions can occur but are not caught, resulting in the repo sync exiting with a python traceback. Add handling of the following exceptions: - IOError, which can be raised for example if the manifest server URL is malformed. - xmlrpclib.ProtocolError, which can be raised if the connection to the manifest server fails with HTTP error. - xmlrpclib.Fault, which can be raised if the RPC call fails for some other reason. Change-Id: I3a4830aef0941debadd515aac776a3932e28a943
Diffstat (limited to 'subcmds/sync.py')
-rw-r--r--subcmds/sync.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/subcmds/sync.py b/subcmds/sync.py
index 595a35aa..b2658d87 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -406,9 +406,13 @@ uncommitted changes are present' % project.relpath
406 else: 406 else:
407 print >>sys.stderr, 'error: %s' % manifest_str 407 print >>sys.stderr, 'error: %s' % manifest_str
408 sys.exit(1) 408 sys.exit(1)
409 except socket.error: 409 except (socket.error, IOError, xmlrpclib.Fault), e:
410 print >>sys.stderr, 'error: cannot connect to manifest server %s' % ( 410 print >>sys.stderr, 'error: cannot connect to manifest server %s:\n%s' % (
411 self.manifest.manifest_server) 411 self.manifest.manifest_server, e)
412 sys.exit(1)
413 except xmlrpclib.ProtocolError, e:
414 print >>sys.stderr, 'error: cannot connect to manifest server %s:\n%d %s' % (
415 self.manifest.manifest_server, e.errcode, e.errmsg)
412 sys.exit(1) 416 sys.exit(1)
413 417
414 rp = self.manifest.repoProject 418 rp = self.manifest.repoProject