summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--git_config.py10
-rw-r--r--subcmds/upload.py10
2 files changed, 14 insertions, 6 deletions
diff --git a/git_config.py b/git_config.py
index 26fc970b..19c19f19 100644
--- a/git_config.py
+++ b/git_config.py
@@ -23,6 +23,8 @@ try:
23except ImportError: 23except ImportError:
24 import dummy_threading as _threading 24 import dummy_threading as _threading
25import time 25import time
26import urllib2
27
26from signal import SIGTERM 28from signal import SIGTERM
27from urllib2 import urlopen, HTTPError 29from urllib2 import urlopen, HTTPError
28from error import GitError, UploadError 30from error import GitError, UploadError
@@ -563,23 +565,25 @@ class Remote(object):
563 try: 565 try:
564 info = urlopen(u).read() 566 info = urlopen(u).read()
565 if info == 'NOT_AVAILABLE': 567 if info == 'NOT_AVAILABLE':
566 raise UploadError('Upload over ssh unavailable') 568 raise UploadError('%s: SSH disabled' % self.review)
567 if '<' in info: 569 if '<' in info:
568 # Assume the server gave us some sort of HTML 570 # Assume the server gave us some sort of HTML
569 # response back, like maybe a login page. 571 # response back, like maybe a login page.
570 # 572 #
571 raise UploadError('Cannot read %s:\n%s' % (u, info)) 573 raise UploadError('%s: Cannot parse response' % u)
572 574
573 self._review_protocol = 'ssh' 575 self._review_protocol = 'ssh'
574 self._review_host = info.split(" ")[0] 576 self._review_host = info.split(" ")[0]
575 self._review_port = info.split(" ")[1] 577 self._review_port = info.split(" ")[1]
578 except urllib2.URLError, e:
579 raise UploadError('%s: %s' % (self.review, e.reason[1]))
576 except HTTPError, e: 580 except HTTPError, e:
577 if e.code == 404: 581 if e.code == 404:
578 self._review_protocol = 'http-post' 582 self._review_protocol = 'http-post'
579 self._review_host = None 583 self._review_host = None
580 self._review_port = None 584 self._review_port = None
581 else: 585 else:
582 raise UploadError('Cannot guess Gerrit version') 586 raise UploadError('Upload over ssh unavailable')
583 587
584 REVIEW_CACHE[u] = ( 588 REVIEW_CACHE[u] = (
585 self._review_protocol, 589 self._review_protocol,
diff --git a/subcmds/upload.py b/subcmds/upload.py
index 1964bffa..20822096 100644
--- a/subcmds/upload.py
+++ b/subcmds/upload.py
@@ -283,15 +283,19 @@ Gerrit Code Review: http://code.google.com/p/gerrit/
283 have_errors = True 283 have_errors = True
284 284
285 print >>sys.stderr, '' 285 print >>sys.stderr, ''
286 print >>sys.stderr, '--------------------------------------------' 286 print >>sys.stderr, '----------------------------------------------------------------------'
287 287
288 if have_errors: 288 if have_errors:
289 for branch in todo: 289 for branch in todo:
290 if not branch.uploaded: 290 if not branch.uploaded:
291 print >>sys.stderr, '[FAILED] %-15s %-15s (%s)' % ( 291 if len(str(branch.error)) <= 30:
292 fmt = ' (%s)'
293 else:
294 fmt = '\n (%s)'
295 print >>sys.stderr, ('[FAILED] %-15s %-15s' + fmt) % (
292 branch.project.relpath + '/', \ 296 branch.project.relpath + '/', \
293 branch.name, \ 297 branch.name, \
294 branch.error) 298 str(branch.error))
295 print >>sys.stderr, '' 299 print >>sys.stderr, ''
296 300
297 for branch in todo: 301 for branch in todo: