Parcourir la source

Repo: fall back to http, if ssh connection fails for http repos

if a gerrit server has ssh and https access enabled, but user access
(for some users) is limited to https, 'repo upload' command will fail
for them.

Gerrit returns a ssh configuration (gerrit/ssh_info), that does not work
for users limited to https.

With this patch repo will test, if the returned ssh configuration from
gerrit/ssh_info is working. if not, it will fall back to https for upload.

Change-Id: If98f472e994f350bf71f35610cd649b163f1ab33
Timo Lotterbach il y a 9 ans
Parent
commit
488bf092d5
1 fichiers modifiés avec 4 ajouts et 1 suppressions
  1. 4 1
      git_config.py

+ 4 - 1
git_config.py

@@ -638,7 +638,10 @@ class Remote(object):
             self._review_url = http_url
           else:
             host, port = info.split()
-            self._review_url = self._SshReviewUrl(userEmail, host, port)
+            if _open_ssh(host, port):
+              self._review_url = self._SshReviewUrl(userEmail, host, port)
+            else:
+              self._review_url = http_url
         except urllib.error.HTTPError as e:
           raise UploadError('%s: %s' % (self.review, str(e)))
         except urllib.error.URLError as e: