From 745a39ba3dca7699ac057887e79deeb47e2bf8a5 Mon Sep 17 00:00:00 2001 From: Conley Owens Date: Wed, 5 Jun 2013 13:16:18 -0700 Subject: [PATCH] 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 --- git_config.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/git_config.py b/git_config.py index 2270200c..a294a0b6 100644 --- a/git_config.py +++ b/git_config.py @@ -596,14 +596,11 @@ class Remote(object): 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()