git cl commands fail gracefully when called in Cog

Bug: 339231299
Change-Id: Ia2713ac64cb52d1857ac4ae0cd9db22f73167150
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/5539171
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
Commit-Queue: Yiwei Zhang <yiwzhang@google.com>
changes/71/5539171/3
Yiwei Zhang 2 years ago committed by LUCI CQ
parent 2dfcb607f6
commit dc87892549

@ -3887,6 +3887,11 @@ def CMDcreds_check(parser, args):
@metrics.collector.collect_metrics('git cl baseurl') @metrics.collector.collect_metrics('git cl baseurl')
def CMDbaseurl(parser, args): def CMDbaseurl(parser, args):
"""Gets or sets base-url for this branch.""" """Gets or sets base-url for this branch."""
if gclient_utils.IsEnvCog():
print('baseurl command is not supported in non-git environment.',
file=sys.stderr)
return 1
_, args = parser.parse_args(args) _, args = parser.parse_args(args)
branchref = scm.GIT.GetBranchRef(settings.GetRoot()) branchref = scm.GIT.GetBranchRef(settings.GetRoot())
branch = scm.GIT.ShortBranchName(branchref) branch = scm.GIT.ShortBranchName(branchref)
@ -4097,6 +4102,11 @@ def GetArchiveTagForBranch(issue_num, branch_name, existing_tags, pattern):
@metrics.collector.collect_metrics('git cl archive') @metrics.collector.collect_metrics('git cl archive')
def CMDarchive(parser, args): def CMDarchive(parser, args):
"""Archives and deletes branches associated with closed changelists.""" """Archives and deletes branches associated with closed changelists."""
if gclient_utils.IsEnvCog():
print('archive command is not supported in non-git environment.',
file=sys.stderr)
return 1
parser.add_option( parser.add_option(
'-j', '-j',
'--maxjobs', '--maxjobs',
@ -4210,6 +4220,13 @@ def CMDstatus(parser, args):
Also see 'git cl comments'. Also see 'git cl comments'.
""" """
if gclient_utils.IsEnvCog():
print(
'status command is not supported. Please go to the Gerrit CL '
'page to check the CL status directly.',
file=sys.stderr)
return 1
parser.add_option('--no-branch-color', parser.add_option('--no-branch-color',
action='store_true', action='store_true',
help='Disable colorized branch names') help='Disable colorized branch names')
@ -4383,6 +4400,15 @@ def CMDissue(parser, args):
Pass issue number 0 to clear the current issue. Pass issue number 0 to clear the current issue.
""" """
if gclient_utils.IsEnvCog():
print(
'issue command is not supported. CL number is available in the '
'primary side bar at the bottom of your editor. Setting the CL '
'number is not supported, you can open a new workspace from the '
'Gerrit CL directly.',
file=sys.stderr)
return 1
parser.add_option('-r', parser.add_option('-r',
'--reverse', '--reverse',
action='store_true', action='store_true',
@ -4454,6 +4480,14 @@ def CMDissue(parser, args):
@metrics.collector.collect_metrics('git cl comments') @metrics.collector.collect_metrics('git cl comments')
def CMDcomments(parser, args): def CMDcomments(parser, args):
"""Shows or posts review comments for any changelist.""" """Shows or posts review comments for any changelist."""
if gclient_utils.IsEnvCog():
print(
'comments command is not supported in non-git environment. '
'Comments on the CL should show up inline in your editor. To '
'post comments, please visit Gerrit CL page.',
file=sys.stderr)
return 1
parser.add_option('-a', parser.add_option('-a',
'--add-comment', '--add-comment',
dest='comment', dest='comment',
@ -4524,6 +4558,14 @@ def CMDcomments(parser, args):
@metrics.collector.collect_metrics('git cl description') @metrics.collector.collect_metrics('git cl description')
def CMDdescription(parser, args): def CMDdescription(parser, args):
"""Brings up the editor for the current CL's description.""" """Brings up the editor for the current CL's description."""
if gclient_utils.IsEnvCog():
print(
'description command is not supported. Please use "Gerrit: Edit '
'Change Information" functionality in the command palatte to edit '
'the CL description.',
file=sys.stderr)
return 1
parser.add_option( parser.add_option(
'-d', '-d',
'--display', '--display',
@ -4678,6 +4720,12 @@ def CMDlint(parser, args):
@subcommand.usage('[base branch]') @subcommand.usage('[base branch]')
def CMDpresubmit(parser, args): def CMDpresubmit(parser, args):
"""Runs presubmit tests on the current changelist.""" """Runs presubmit tests on the current changelist."""
if gclient_utils.IsEnvCog():
# TODO - crbug/336555565: give user more instructions on how to
# trigger presubmit in Cog once the UX is finalized.
print('presubmit command is not supported in non-git environment.',
file=sys.stderr)
return 1
parser.add_option('-u', parser.add_option('-u',
'--upload', '--upload',
action='store_true', action='store_true',
@ -4875,6 +4923,13 @@ def CMDupload(parser, args):
Foo bar: implement foo Foo bar: implement foo
will be hashtagged with "git-cl" and "foo-bar" respectively. will be hashtagged with "git-cl" and "foo-bar" respectively.
""" """
if gclient_utils.IsEnvCog():
print(
'upload command is not supported. Please navigate to source '
'control view in the activity bar to upload changes to Gerrit.',
file=sys.stderr)
return 1
parser.add_option('--bypass-hooks', parser.add_option('--bypass-hooks',
action='store_true', action='store_true',
dest='bypass_hooks', dest='bypass_hooks',
@ -5390,6 +5445,11 @@ def CMDsplit(parser, args):
comment, the string '$directory', is replaced with the directory containing comment, the string '$directory', is replaced with the directory containing
the shared OWNERS file. the shared OWNERS file.
""" """
if gclient_utils.IsEnvCog():
print('split command is not supported in non-git environment.',
file=sys.stderr)
return 1
parser.add_option('-d', parser.add_option('-d',
'--description', '--description',
dest='description_file', dest='description_file',
@ -5477,6 +5537,13 @@ def CMDland(parser, args):
In case of Gerrit, uses Gerrit REST api to "submit" the issue, which pushes In case of Gerrit, uses Gerrit REST api to "submit" the issue, which pushes
upstream and closes the issue automatically and atomically. upstream and closes the issue automatically and atomically.
""" """
if gclient_utils.IsEnvCog():
print(
'land command is not supported. Please go to the Gerrit CL '
'directly to submit the CL',
file=sys.stderr)
return 1
parser.add_option('--bypass-hooks', parser.add_option('--bypass-hooks',
action='store_true', action='store_true',
dest='bypass_hooks', dest='bypass_hooks',
@ -5512,6 +5579,13 @@ def CMDland(parser, args):
@metrics.collector.collect_metrics('git cl patch') @metrics.collector.collect_metrics('git cl patch')
def CMDpatch(parser, args): def CMDpatch(parser, args):
"""Applies (cherry-picks) a Gerrit changelist locally.""" """Applies (cherry-picks) a Gerrit changelist locally."""
if gclient_utils.IsEnvCog():
print(
'patch command is not supported. Please create a new workspace '
'from the Gerrit CL directly',
file=sys.stderr)
return 1
parser.add_option('-b', parser.add_option('-b',
'--branch', '--branch',
dest='newbranch', dest='newbranch',
@ -5627,6 +5701,13 @@ def GetTreeStatusReason():
@metrics.collector.collect_metrics('git cl tree') @metrics.collector.collect_metrics('git cl tree')
def CMDtree(parser, args): def CMDtree(parser, args):
"""Shows the status of the tree.""" """Shows the status of the tree."""
if gclient_utils.IsEnvCog():
print(
'tree command is not supported. Please go to the tree '
'status UI to check the status of the tree directly.',
file=sys.stderr)
return 1
_, args = parser.parse_args(args) _, args = parser.parse_args(args)
status = GetTreeStatus() status = GetTreeStatus()
if 'unset' == status: if 'unset' == status:
@ -5646,6 +5727,13 @@ def CMDtree(parser, args):
@metrics.collector.collect_metrics('git cl try') @metrics.collector.collect_metrics('git cl try')
def CMDtry(parser, args): def CMDtry(parser, args):
"""Triggers tryjobs using either Buildbucket or CQ dry run.""" """Triggers tryjobs using either Buildbucket or CQ dry run."""
if gclient_utils.IsEnvCog():
print(
'try command is not supported. Please go to the Gerrit CL '
'page to trigger individual builds or CQ dry run.',
file=sys.stderr)
return 1
group = optparse.OptionGroup(parser, 'Tryjob options') group = optparse.OptionGroup(parser, 'Tryjob options')
group.add_option( group.add_option(
'-b', '-b',
@ -5784,6 +5872,13 @@ def CMDtry(parser, args):
@metrics.collector.collect_metrics('git cl try-results') @metrics.collector.collect_metrics('git cl try-results')
def CMDtry_results(parser, args): def CMDtry_results(parser, args):
"""Prints info about results for tryjobs associated with the current CL.""" """Prints info about results for tryjobs associated with the current CL."""
if gclient_utils.IsEnvCog():
print(
'try-results command is not supported. Please go to the Gerrit '
'CL page to see the tryjob results instead.',
file=sys.stderr)
return 1
group = optparse.OptionGroup(parser, 'Tryjob results options') group = optparse.OptionGroup(parser, 'Tryjob results options')
group.add_option('-p', group.add_option('-p',
'--patchset', '--patchset',
@ -5843,6 +5938,11 @@ def CMDtry_results(parser, args):
@metrics.collector.collect_metrics('git cl upstream') @metrics.collector.collect_metrics('git cl upstream')
def CMDupstream(parser, args): def CMDupstream(parser, args):
"""Prints or sets the name of the upstream branch, if any.""" """Prints or sets the name of the upstream branch, if any."""
if gclient_utils.IsEnvCog():
print('upstream command is not supported in non-git environment.',
file=sys.stderr)
return 1
_, args = parser.parse_args(args) _, args = parser.parse_args(args)
if len(args) > 1: if len(args) > 1:
parser.error('Unrecognized args: %s' % ' '.join(args)) parser.error('Unrecognized args: %s' % ' '.join(args))
@ -5864,6 +5964,14 @@ def CMDupstream(parser, args):
@metrics.collector.collect_metrics('git cl web') @metrics.collector.collect_metrics('git cl web')
def CMDweb(parser, args): def CMDweb(parser, args):
"""Opens the current CL in the web browser.""" """Opens the current CL in the web browser."""
if gclient_utils.IsEnvCog():
print(
'web command is not supported. Please use "Gerrit: Open Changes '
'in Gerrit" functionality in the command palette in the Editor '
'instead.',
file=sys.stderr)
return 1
parser.add_option('-p', parser.add_option('-p',
'--print-only', '--print-only',
action='store_true', action='store_true',
@ -5902,6 +6010,13 @@ def CMDweb(parser, args):
@metrics.collector.collect_metrics('git cl set-commit') @metrics.collector.collect_metrics('git cl set-commit')
def CMDset_commit(parser, args): def CMDset_commit(parser, args):
"""Sets the commit bit to trigger the CQ.""" """Sets the commit bit to trigger the CQ."""
if gclient_utils.IsEnvCog():
print(
'set-commit command is not supported. Please go to the Gerrit CL '
'page directly to submit the CL.',
file=sys.stderr)
return 1
parser.add_option('-d', parser.add_option('-d',
'--dry-run', '--dry-run',
action='store_true', action='store_true',
@ -5939,6 +6054,13 @@ def CMDset_commit(parser, args):
@metrics.collector.collect_metrics('git cl set-close') @metrics.collector.collect_metrics('git cl set-close')
def CMDset_close(parser, args): def CMDset_close(parser, args):
"""Closes the issue.""" """Closes the issue."""
if gclient_utils.IsEnvCog():
print(
'set-close command is not supported. Please go to the Gerrit CL '
'page to abandon the CL instead.',
file=sys.stderr)
return 1
parser.add_option( parser.add_option(
'-i', '-i',
'--issue', '--issue',
@ -5959,6 +6081,13 @@ def CMDset_close(parser, args):
@metrics.collector.collect_metrics('git cl diff') @metrics.collector.collect_metrics('git cl diff')
def CMDdiff(parser, args): def CMDdiff(parser, args):
"""Shows differences between local tree and last upload.""" """Shows differences between local tree and last upload."""
if gclient_utils.IsEnvCog():
print(
'diff command is not supported. Please navigate to source '
'control view in the activity bar to check the diff.',
file=sys.stderr)
return 1
parser.add_option('--stat', parser.add_option('--stat',
action='store_true', action='store_true',
dest='stat', dest='stat',
@ -5995,6 +6124,11 @@ def CMDdiff(parser, args):
@metrics.collector.collect_metrics('git cl owners') @metrics.collector.collect_metrics('git cl owners')
def CMDowners(parser, args): def CMDowners(parser, args):
"""Finds potential owners for reviewing.""" """Finds potential owners for reviewing."""
if gclient_utils.IsEnvCog():
print('owners command is not supported in non-git environment.',
file=sys.stderr)
return 1
parser.add_option( parser.add_option(
'--ignore-current', '--ignore-current',
action='store_true', action='store_true',
@ -6433,6 +6567,13 @@ def MatchingFileType(file_name, extensions):
@metrics.collector.collect_metrics('git cl format') @metrics.collector.collect_metrics('git cl format')
def CMDformat(parser, args): def CMDformat(parser, args):
"""Runs auto-formatting tools (clang-format etc.) on the diff.""" """Runs auto-formatting tools (clang-format etc.) on the diff."""
if gclient_utils.IsEnvCog():
print(
'format command is not supported. Please use the "Format '
'Document" functionality in command palette in the Editor '
'instead.',
file=sys.stderr)
return 1
clang_exts = ['.cc', '.cpp', '.h', '.m', '.mm', '.proto'] clang_exts = ['.cc', '.cpp', '.h', '.m', '.mm', '.proto']
GN_EXTS = ['.gn', '.gni', '.typemap'] GN_EXTS = ['.gn', '.gni', '.typemap']
parser.add_option('--full', parser.add_option('--full',
@ -6587,6 +6728,11 @@ def GetMetricsDir(diff_xml):
@metrics.collector.collect_metrics('git cl checkout') @metrics.collector.collect_metrics('git cl checkout')
def CMDcheckout(parser, args): def CMDcheckout(parser, args):
"""Checks out a branch associated with a given Gerrit issue.""" """Checks out a branch associated with a given Gerrit issue."""
if gclient_utils.IsEnvCog():
print('checkout command is not supported in non-git environment.',
file=sys.stderr)
return 1
_, args = parser.parse_args(args) _, args = parser.parse_args(args)
if len(args) != 1: if len(args) != 1:

Loading…
Cancel
Save