Index: git_cl.py |
diff --git a/git_cl.py b/git_cl.py |
index 3c7cd3f315fac72e94414960910bbf7e16104d24..ab79f6235d82a3c0a0549fd4b8a3ceb75097194e 100755 |
--- a/git_cl.py |
+++ b/git_cl.py |
@@ -1737,12 +1737,18 @@ class _RietveldChangelistImpl(_ChangelistCodereviewBase): |
return self.RpcServer().close_issue(self.GetIssue()) |
def SetFlag(self, flag, value): |
- """Patchset must match.""" |
+ return self.SetFlags({flag: value}) |
+ |
+ def SetFlags(self, flags): |
+ """Sets flags on this CL/patchset in Rietveld. |
+ |
+ The latest patchset in Rietveld must be the same as latest known locally. |
+ """ |
if not self.GetPatchset(): |
DieWithError('The patchset needs to match. Send another patchset.') |
try: |
- return self.RpcServer().set_flag( |
- self.GetIssue(), self.GetPatchset(), flag, value) |
+ return self.RpcServer().set_flags( |
+ self.GetIssue(), self.GetPatchset(), flags) |
except urllib2.HTTPError as e: |
if e.code == 404: |
DieWithError('The issue %s doesn\'t exist.' % self.GetIssue()) |
@@ -1791,9 +1797,10 @@ class _RietveldChangelistImpl(_ChangelistCodereviewBase): |
if new_state == _CQState.COMMIT: |
self.SetFlag('commit', '1') |
elif new_state == _CQState.NONE: |
- self.SetFlag('commit', '0') |
+ self.SetFlags({'commit': '0', 'cq_dry_run': '0'}) |
else: |
- raise NotImplementedError() |
+ assert new_state == _CQState.DRY_RUN |
+ self.SetFlags({'commit': '1', 'cq_dry_run': '1'}) |
def CMDPatchWithParsedIssue(self, parsed_issue_arg, reject, nocommit, |