Handle review URLs pointing directly at Gerrit
If a review URL is set to 'http://host/Gerrit' because the user
thinks that is the correct way to point repo at Gerrit, we should
be a bit more flexible and fix the URL by dropping the '/Gerrit'
suffix and replace it with '/ssh_info'.
Likewise, if a review URL points already at '/ssh_info' for a Gerrit
instance, we should leave it alone.
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/git_config.py b/git_config.py
index ed5a44a..971d146 100644
--- a/git_config.py
+++ b/git_config.py
@@ -273,9 +273,12 @@
u = self.review
if not u.startswith('http:') and not u.startswith('https:'):
u = 'http://%s' % u
- if not u.endswith('/'):
- u += '/'
- u += 'ssh_info'
+ if u.endswith('/Gerrit'):
+ u = u[:len(u) - len('/Gerrit')]
+ if not u.endswith('/ssh_info'):
+ if not u.endswith('/'):
+ u += '/'
+ u += 'ssh_info'
try:
info = urlopen(u).read()