Add ability to retrieve cl commit bit on cmd line.

BUG=chromium:563434

Review URL: https://codereview.chromium.org/1485663002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297735 0039d316-1c4b-4281-b951-d872f2087c98
parent 473527c7
...@@ -77,11 +77,10 @@ def need_issue(fn): ...@@ -77,11 +77,10 @@ def need_issue(fn):
return hook return hook
def set_commit(obj, issue, flag): def _apply_on_issue(fun, obj, issue):
"""Sets the commit bit flag on an issue.""" """Applies function 'fun' on an issue."""
try: try:
patchset = obj.get_issue_properties(issue, False)['patchsets'][-1] return fun(obj.get_issue_properties(issue, False))
print obj.set_flag(issue, patchset, 'commit', flag)
except urllib2.HTTPError, e: except urllib2.HTTPError, e:
if e.code == 404: if e.code == 404:
print >> sys.stderr, 'Issue %d doesn\'t exist.' % issue print >> sys.stderr, 'Issue %d doesn\'t exist.' % issue
...@@ -91,6 +90,20 @@ def set_commit(obj, issue, flag): ...@@ -91,6 +90,20 @@ def set_commit(obj, issue, flag):
raise raise
return 1 return 1
def get_commit(obj, issue):
"""Gets the commit bit flag of an issue."""
def _get_commit(properties):
print int(properties['commit'])
return 0
_apply_on_issue(_get_commit, obj, issue)
def set_commit(obj, issue, flag):
"""Sets the commit bit flag on an issue."""
def _set_commit(properties):
print obj.set_flag(issue, properties['patchsets'][-1], 'commit', flag)
return 0
_apply_on_issue(_set_commit, obj, issue)
@need_issue @need_issue
def CMDset(parser, args): def CMDset(parser, args):
"""Sets the commit bit.""" """Sets the commit bit."""
...@@ -99,6 +112,13 @@ def CMDset(parser, args): ...@@ -99,6 +112,13 @@ def CMDset(parser, args):
parser.error('Unrecognized args: %s' % ' '.join(args)) parser.error('Unrecognized args: %s' % ' '.join(args))
return set_commit(obj, options.issue, '1') return set_commit(obj, options.issue, '1')
@need_issue
def CMDget(parser, args):
"""Gets the commit bit."""
options, args, obj = parser.parse_args(args)
if args:
parser.error('Unrecognized args: %s' % ' '.join(args))
return get_commit(obj, options.issue)
@need_issue @need_issue
def CMDclear(parser, args): def CMDclear(parser, args):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment