git cl comments: shorten long URLs if possible.

R=ehmaldonado

Before:
  https://chromium-review.googlesource.com/c/2552792/3/cv/internal/gerrit/gerritfake/fake.go#321
After:
  https://crrev.com/c/2552792/3/cv/internal/gerrit/gerritfake/fake.go#321
Change-Id: Ie6044e2743c4359bc30c98d8915edd9119d4a386
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2556837
Auto-Submit: Andrii Shyshkalov <tandrii@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@google.com>
diff --git a/git_cl.py b/git_cl.py
index b9a3567..b38dd74 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -1785,6 +1785,15 @@
     # {author+date: {path: {patchset: {line: url+message}}}}
     comments = collections.defaultdict(
         lambda: collections.defaultdict(lambda: collections.defaultdict(dict)))
+
+    server = self.GetCodereviewServer()
+    if server in _KNOWN_GERRIT_TO_SHORT_URLS:
+      # /c/ is automatically added by short URL server.
+      url_prefix = '%s/%s' % (_KNOWN_GERRIT_TO_SHORT_URLS[server],
+                              self.GetIssue())
+    else:
+      url_prefix = '%s/c/%s' % (server, self.GetIssue())
+
     for path, line_comments in file_comments.items():
       for comment in line_comments:
         tag = comment.get('tag', '')
@@ -1796,10 +1805,10 @@
         else:
           patchset = 'PS%d' % comment['patch_set']
         line = comment.get('line', 0)
-        url = ('https://%s/c/%s/%s/%s#%s%s' %
-            (self.GetGerritHost(), self.GetIssue(), comment['patch_set'], path,
-             'b' if comment.get('side') == 'PARENT' else '',
-             str(line) if line else ''))
+        url = ('%s/%s/%s#%s%s' %
+               (url_prefix, comment['patch_set'], path,
+                'b' if comment.get('side') == 'PARENT' else '',
+                str(line) if line else ''))
         comments[key][path][patchset][line] = (url, comment['message'])
 
     summaries = []