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>
changes/22/5018522/5
Josip Sokcevic 2 years ago committed by LUCI CQ
parent 0d849838d9
commit 8fb358e5b6

@ -1574,6 +1574,17 @@ def _detect_host_os():
class GitDependency(Dependency):
"""A Dependency object that represents a single git checkout."""
_is_env_cog = None
@staticmethod
def _IsCog():
"""Returns true if the env is cog"""
if GitDependency._is_env_cog is None:
GitDependency._is_env_cog = os.getcwd().startswith(
'/google/cog/cloud')
return GitDependency._is_env_cog
@staticmethod
def updateProtocol(url, protocol):
"""Updates given URL's protocol"""
@ -1592,6 +1603,9 @@ class GitDependency(Dependency):
#override
def CreateSCM(self, out_cb=None):
"""Create a Wrapper instance suitable for handling this git dependency."""
if self._IsCog():
return gclient_scm.CogWrapper()
return gclient_scm.GitWrapper(self.url,
self.root.root_dir,
self.name,

@ -1932,3 +1932,42 @@ class CipdWrapper(SCMWrapper):
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

Loading…
Cancel
Save