From d3e5754b265086a26288faaab87ca2a81b0eb42b Mon Sep 17 00:00:00 2001 From: "bauerb@chromium.org" Date: Tue, 15 Mar 2011 09:43:47 +0000 Subject: [PATCH] Reland 77470: Don't ignore first argument in TryChange Original review: http://codereview.chromium.org/6650025/ BUG=none TEST=`git try foo` gives a proper error message. Review URL: http://codereview.chromium.org/6612036 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@78180 0039d316-1c4b-4281-b951-d872f2087c98 --- gcl.py | 3 +-- trychange.py | 24 +++++++++--------------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/gcl.py b/gcl.py index d6c46bd3f..e0d410c2b 100755 --- a/gcl.py +++ b/gcl.py @@ -916,11 +916,10 @@ def TryChange(change_info, args, swallow_exception): trychange_args.extend(["--issue", str(change_info.issue)]) if change_info.patchset: trychange_args.extend(["--patchset", str(change_info.patchset)]) - trychange_args.extend(args) file_list = change_info.GetFileNames() else: - trychange_args.extend(args) file_list = [] + trychange_args.extend(args) return trychange.TryChange( trychange_args, file_list=file_list, diff --git a/trychange.py b/trychange.py index 884e56c1b..fb5e935c3 100755 --- a/trychange.py +++ b/trychange.py @@ -330,10 +330,9 @@ def _SendChangeHTTP(options): logging.info('Sending by HTTP') logging.info(description) logging.info(url) + logging.info(options.diff) if options.dry_run: - print options.diff return - logging.info(options.diff) try: logging.info('Opening connection...') @@ -510,7 +509,8 @@ def TryChange(argv, "optional if --issue is used, In that case, the " "latest patchset will be used.") group.add_option("--dry_run", action='store_true', - help="Just prints the diff and quits") + help="Don't send the try job. This implies --verbose, so " + "it will print the diff.") parser.add_option_group(group) group = optparse.OptionGroup(parser, "Try job options") @@ -611,24 +611,18 @@ def TryChange(argv, options, args = parser.parse_args(argv) - # Note that the args array includes the script name, so - # a single argument results in len(args) == 2. - # If they've asked for help, give it to them - if len(args) == 2 and args[1] == 'help': + if len(args) == 1 and args[0] == 'help': parser.print_help() return 0 # If they've said something confusing, don't spawn a try job until you # understand what they want. - if len(args) > 1: - plural = "" - if len(args) > 2: - plural = "s" - print >> sys.stderr, ( - 'Argument%s \"%s\" not understood' % (plural, ' '.join(args[1:]))) - parser.print_help() - return 1 + if args: + parser.error('Extra argument(s) "%s" not understood' % ' '.join(args)) + + if options.dry_run: + options.verbose += 1 LOG_FORMAT = '%(levelname)s %(filename)s(%(lineno)d): %(message)s' if not swallow_exception: