diff options
Diffstat (limited to 'git_config.py')
-rw-r--r-- | git_config.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/git_config.py b/git_config.py index 9dba699a..b6288219 100644 --- a/git_config.py +++ b/git_config.py | |||
@@ -19,6 +19,8 @@ import re | |||
19 | import subprocess | 19 | import subprocess |
20 | import sys | 20 | import sys |
21 | import time | 21 | import time |
22 | import urllib2 | ||
23 | |||
22 | from signal import SIGTERM | 24 | from signal import SIGTERM |
23 | from urllib2 import urlopen, HTTPError | 25 | from urllib2 import urlopen, HTTPError |
24 | from error import GitError, UploadError | 26 | from error import GitError, UploadError |
@@ -487,23 +489,25 @@ class Remote(object): | |||
487 | try: | 489 | try: |
488 | info = urlopen(u).read() | 490 | info = urlopen(u).read() |
489 | if info == 'NOT_AVAILABLE': | 491 | if info == 'NOT_AVAILABLE': |
490 | raise UploadError('Upload over ssh unavailable') | 492 | raise UploadError('%s: SSH disabled' % self.review) |
491 | if '<' in info: | 493 | if '<' in info: |
492 | # Assume the server gave us some sort of HTML | 494 | # Assume the server gave us some sort of HTML |
493 | # response back, like maybe a login page. | 495 | # response back, like maybe a login page. |
494 | # | 496 | # |
495 | raise UploadError('Cannot read %s:\n%s' % (u, info)) | 497 | raise UploadError('%s: Cannot parse response' % u) |
496 | 498 | ||
497 | self._review_protocol = 'ssh' | 499 | self._review_protocol = 'ssh' |
498 | self._review_host = info.split(" ")[0] | 500 | self._review_host = info.split(" ")[0] |
499 | self._review_port = info.split(" ")[1] | 501 | self._review_port = info.split(" ")[1] |
502 | except urllib2.URLError, e: | ||
503 | raise UploadError('%s: %s' % (self.review, e.reason[1])) | ||
500 | except HTTPError, e: | 504 | except HTTPError, e: |
501 | if e.code == 404: | 505 | if e.code == 404: |
502 | self._review_protocol = 'http-post' | 506 | self._review_protocol = 'http-post' |
503 | self._review_host = None | 507 | self._review_host = None |
504 | self._review_port = None | 508 | self._review_port = None |
505 | else: | 509 | else: |
506 | raise UploadError('Cannot guess Gerrit version') | 510 | raise UploadError('Upload over ssh unavailable') |
507 | 511 | ||
508 | REVIEW_CACHE[u] = ( | 512 | REVIEW_CACHE[u] = ( |
509 | self._review_protocol, | 513 | self._review_protocol, |