Fix skip-ensure-authenticated config

https://crbug.com/603378#c4 introduces gerrit.skipEnsureAuthenticated as simple workaround to allow git_cl work with `sso://` URLs. However, git_cl still warns users to not use `sso://` and all the gerrit API calls break.

This change is a fix quick to allow git_cl to work with `sso://` when gerrit.skipEnsureAuthenticated is set to true in .git/config.

The authentication check will be fixed to support `sso://` is a follow-up change.

Bug: 1431292
Change-Id: Iefc43d205ac3b7fb67b32092567fd13eded205a5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4404933
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Aravind Vasudevan <aravindvasudev@google.com>
diff --git a/git_cl.py b/git_cl.py
index 1e94fa5..727aa68 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -1913,15 +1913,14 @@
   def GetGerritHost(self):
     # Lazy load of configs.
     self.GetCodereviewServer()
+
     if self._gerrit_host and '.' not in self._gerrit_host:
       # Abbreviated domain like "chromium" instead of chromium.googlesource.com.
-      # This happens for internal stuff http://crbug.com/614312.
       parsed = urllib.parse.urlparse(self.GetRemoteUrl())
       if parsed.scheme == 'sso':
-        print('WARNING: using non-https URLs for remote is likely broken\n'
-              '  Your current remote is: %s' % self.GetRemoteUrl())
         self._gerrit_host = '%s.googlesource.com' % self._gerrit_host
         self._gerrit_server = 'https://%s' % self._gerrit_host
+
     return self._gerrit_host
 
   def _GetGitHost(self):
@@ -1941,10 +1940,19 @@
         if self._gerrit_server:
           self._gerrit_host = urllib.parse.urlparse(self._gerrit_server).netloc
       if not self._gerrit_server:
+        url = urllib.parse.urlparse(self.GetRemoteUrl())
+        parts = url.netloc.split('.')
+
         # We assume repo to be hosted on Gerrit, and hence Gerrit server
         # has "-review" suffix for lowest level subdomain.
-        parts = self._GetGitHost().split('.')
         parts[0] = parts[0] + '-review'
+
+        if url.scheme == 'sso' and len(parts) == 1:
+          # sso:// uses abbreivated hosts, eg. sso://chromium instead of
+          # chromium.googlesource.com. Hence, for code review server, they need
+          # to be expanded.
+          parts[0] += '.googlesource.com'
+
         self._gerrit_host = '.'.join(parts)
         self._gerrit_server = 'https://%s' % self._gerrit_host
     return self._gerrit_server