From eec726c6d880b8616b5b734155befaf54f936cba Mon Sep 17 00:00:00 2001 From: Timo Lotterbach Date: Fri, 7 Oct 2016 10:52:08 +0200 Subject: [PATCH] Add option REPO_IGNORE_SSH_INFO to ignore ssh_info This is required for setups, where Gerrit access using ssh is only available for some networks. For network without ssh access, repo will get ssh_info from Gerrit and use ssh for communications - which will fail. To support this setup we need to have an option to ignore the ssh_info provided by Gerrit and use http(s). Using git insteadOf as alternative results in the inability to add reviewers using "repo upload --re=...", since the syntax of adding reviewers differs for ssh and https. repo is assuming an ssh connection and uses "git push --receive-pack=...", which will fail since git silently uses https for push operation. repo must be aware that https is used so it uses "git push remote ...:refs/for/...%r=..." for upload. Change-Id: Idd83baef0fb26ffcc9ac65e204b68d323ce177a1 --- git_config.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/git_config.py b/git_config.py index e2236785..e00f6be2 100644 --- a/git_config.py +++ b/git_config.py @@ -631,6 +631,9 @@ class Remote(object): elif u.startswith('sso:'): self._review_url = u # Assume it's right REVIEW_CACHE[u] = self._review_url + elif 'REPO_IGNORE_SSH_INFO' in os.environ: + self._review_url = http_url + REVIEW_CACHE[u] = self._review_url else: try: info_url = u + 'ssh_info'