diff options
author | Timo Lotterbach <timo.lotterbach@bmw-carit.de> | 2016-10-07 10:52:08 +0200 |
---|---|---|
committer | Timo Lotterbach <timo.lotterbach@bmw-carit.de> | 2017-05-26 15:11:11 +0200 |
commit | eec726c6d880b8616b5b734155befaf54f936cba (patch) | |
tree | 17fa05674ea29f981b460d0dfab361846e42c9b9 /git_config.py | |
parent | ffb4b890997b1799f188ec44f005d949feb643a7 (diff) | |
download | git-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.py | 3 |
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' |