summaryrefslogtreecommitdiffstats
path: root/git_config.py
diff options
context:
space:
mode:
authorTimo Lotterbach <timo.lotterbach@bmw-carit.de>2016-10-07 10:52:08 +0200
committerTimo Lotterbach <timo.lotterbach@bmw-carit.de>2017-05-26 15:11:11 +0200
commiteec726c6d880b8616b5b734155befaf54f936cba (patch)
tree17fa05674ea29f981b460d0dfab361846e42c9b9 /git_config.py
parentffb4b890997b1799f188ec44f005d949feb643a7 (diff)
downloadgit-repo-eec726c6d880b8616b5b734155befaf54f936cba.tar.gz
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
Diffstat (limited to 'git_config.py')
-rw-r--r--git_config.py3
1 files changed, 3 insertions, 0 deletions
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):
631 elif u.startswith('sso:'): 631 elif u.startswith('sso:'):
632 self._review_url = u # Assume it's right 632 self._review_url = u # Assume it's right
633 REVIEW_CACHE[u] = self._review_url 633 REVIEW_CACHE[u] = self._review_url
634 elif 'REPO_IGNORE_SSH_INFO' in os.environ:
635 self._review_url = http_url
636 REVIEW_CACHE[u] = self._review_url
634 else: 637 else:
635 try: 638 try:
636 info_url = u + 'ssh_info' 639 info_url = u + 'ssh_info'