Assume http upload if ssh_info cannot be parsed
When uploading a change for review, we sometimes request /ssh_info to
get the correct port number for uploading via ssh (regardless of
whether or not we intend to upload over ssh).
If we have trouble accessing /ssh_info (for authentication reasons,
etc), we now press on under the assumption that we will upload via http
instead of aborting.
Change-Id: Ica6bbeac1279e89424a903529649b7f4af0b6937
diff --git a/git_config.py b/git_config.py
index 2270200..a294a0b 100644
--- a/git_config.py
+++ b/git_config.py
@@ -596,14 +596,11 @@
try:
info_url = u + 'ssh_info'
info = urllib.request.urlopen(info_url).read()
- if '<' in info:
- # Assume the server gave us some sort of HTML
- # response back, like maybe a login page.
+ if info == 'NOT_AVAILABLE' or '<' in info:
+ # If `info` contains '<', we assume the server gave us some sort
+ # of HTML response back, like maybe a login page.
#
- raise UploadError('%s: Cannot parse response' % info_url)
-
- if info == 'NOT_AVAILABLE':
- # Assume HTTP if SSH is not enabled.
+ # Assume HTTP if SSH is not enabled or ssh_info doesn't look right.
self._review_url = http_url + 'p/'
else:
host, port = info.split()