|
|
@@ -23,6 +23,8 @@ try:
|
|
|
except ImportError:
|
|
|
import dummy_threading as _threading
|
|
|
import time
|
|
|
+import urllib2
|
|
|
+
|
|
|
from signal import SIGTERM
|
|
|
from urllib2 import urlopen, HTTPError
|
|
|
from error import GitError, UploadError
|
|
|
@@ -563,23 +565,25 @@ class Remote(object):
|
|
|
try:
|
|
|
info = urlopen(u).read()
|
|
|
if info == 'NOT_AVAILABLE':
|
|
|
- raise UploadError('Upload over ssh unavailable')
|
|
|
+ raise UploadError('%s: SSH disabled' % self.review)
|
|
|
if '<' in info:
|
|
|
# Assume the server gave us some sort of HTML
|
|
|
# response back, like maybe a login page.
|
|
|
#
|
|
|
- raise UploadError('Cannot read %s:\n%s' % (u, info))
|
|
|
+ raise UploadError('%s: Cannot parse response' % u)
|
|
|
|
|
|
self._review_protocol = 'ssh'
|
|
|
self._review_host = info.split(" ")[0]
|
|
|
self._review_port = info.split(" ")[1]
|
|
|
+ except urllib2.URLError, e:
|
|
|
+ raise UploadError('%s: %s' % (self.review, e.reason[1]))
|
|
|
except HTTPError, e:
|
|
|
if e.code == 404:
|
|
|
self._review_protocol = 'http-post'
|
|
|
self._review_host = None
|
|
|
self._review_port = None
|
|
|
else:
|
|
|
- raise UploadError('Cannot guess Gerrit version')
|
|
|
+ raise UploadError('Upload over ssh unavailable')
|
|
|
|
|
|
REVIEW_CACHE[u] = (
|
|
|
self._review_protocol,
|