git cl patch: support short CL URLs.

Change-Id: I71ae8e94ec0cc5d880c002c7187351ac6ee2c2b3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2152218
Auto-Submit: Andrii Shyshkalov <tandrii@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
diff --git a/git_cl.py b/git_cl.py
index ac6756b..fadf1c9 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -138,6 +138,8 @@
     'https://chrome-internal-review.googlesource.com': 'https://crrev.com/i',
     'https://chromium-review.googlesource.com': 'https://crrev.com/c',
 }
+assert len(_KNOWN_GERRIT_TO_SHORT_URLS) == len(
+    set(_KNOWN_GERRIT_TO_SHORT_URLS.values())), 'must have unique values'
 
 
 def DieWithError(message, change_desc=None):
@@ -858,6 +860,11 @@
     return fail_result
 
   url = gclient_utils.UpgradeToHttps(arg)
+  for gerrit_url, short_url in _KNOWN_GERRIT_TO_SHORT_URLS.items():
+    if url.startswith(short_url):
+      url = gerrit_url + url[len(short_url):]
+      break
+
   try:
     parsed_url = urllib.parse.urlparse(url)
   except ValueError: