Add support for Cog SCM

Change-Id: I450e1ce7943fda55edf1cb8016f201ce08cd9251
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5018522
Commit-Queue: Josip Sokcevic <sokcevic@chromium.org>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
diff --git a/gclient_scm.py b/gclient_scm.py
index ceb58dc..e0b7b25 100644
--- a/gclient_scm.py
+++ b/gclient_scm.py
@@ -1932,3 +1932,42 @@
     CIPD packages should be updated at the root by running
     `CipdRoot.run('update')`.
     """
+
+
+class CogWrapper(SCMWrapper):
+    """Wrapper for Cog, all no-op."""
+    name = 'cog'
+
+    def __init__(self):
+        super(CogWrapper, self).__init__()
+
+    #override
+    def GetCacheMirror(self):
+        return None
+
+    #override
+    def GetActualRemoteURL(self, options):
+        return None
+
+    #override
+    def DoesRemoteURLMatch(self, options):
+        del options
+        return True
+
+    def revert(self, options, args, file_list):
+        pass
+
+    def diff(self, options, args, file_list):
+        pass
+
+    def pack(self, options, args, file_list):
+        pass
+
+    def revinfo(self, options, args, file_list):
+        pass
+
+    def status(self, options, args, file_list):
+        pass
+
+    def update(self, options, args, file_list):
+        pass