Index: gcl.py |
diff --git a/gcl.py b/gcl.py |
index 058837a1e631571c73be09e6f326e8f089410845..39f3bec1d4f8f06f2b5c069a6c0cb268eff10413 100755 |
--- a/gcl.py |
+++ b/gcl.py |
@@ -9,6 +9,7 @@ of files. |
""" |
import getpass |
+import optparse |
import os |
import random |
import re |
@@ -865,22 +866,27 @@ def CMDupload(change_info, args): |
return 0 |
-@need_change |
-def CMDpresubmit(change_info): |
+@need_change_and_args |
+@attrs(usage='[--upload]') |
+def CMDpresubmit(change_info, args): |
"""Runs presubmit checks on the change. |
The actual presubmit code is implemented in presubmit_support.py and looks |
for PRESUBMIT.py files.""" |
if not change_info.GetFiles(): |
- print "Nothing to presubmit check, changelist is empty." |
+ print('Nothing to presubmit check, changelist is empty.') |
return 0 |
- |
- print "*** Presubmit checks for UPLOAD would report: ***" |
- result = DoPresubmitChecks(change_info, False, False) |
- |
- print "\n*** Presubmit checks for COMMIT would report: ***" |
- result &= DoPresubmitChecks(change_info, True, False) |
- return not result |
+ parser = optparse.OptionParser() |
+ parser.add_option('--upload', action='store_true') |
+ options, args = parser.parse_args(args) |
+ if args: |
+ parser.error('Unrecognized args: %s' % args) |
+ if options.upload: |
+ print('*** Presubmit checks for UPLOAD would report: ***') |
+ return not DoPresubmitChecks(change_info, False, False) |
+ else: |
+ print('*** Presubmit checks for COMMIT would report: ***') |
+ return not DoPresubmitChecks(change_info, True, False) |
def TryChange(change_info, args, swallow_exception): |