| Index: gclient.py
|
| diff --git a/gclient.py b/gclient.py
|
| index 59a6ff4457881a6d9a86614b83b5a3c23bf0879e..d86c3663e2d17a50f9b2c8e2b11bb698eeebce4e 100644
|
| --- a/gclient.py
|
| +++ b/gclient.py
|
| @@ -1229,6 +1229,54 @@ def GenUsage(parser, command):
|
| parser.epilog = getattr(obj, 'epilog', None)
|
|
|
|
|
| +def Parser():
|
| + """Returns the default parser."""
|
| + parser = optparse.OptionParser(version='%prog ' + __version__)
|
| + parser.add_option('-j', '--jobs', default=1, type='int',
|
| + help='Specify how many SCM commands can run in parallel; '
|
| + 'default=%default')
|
| + parser.add_option('-v', '--verbose', action='count', default=0,
|
| + help='Produces additional output for diagnostics. Can be '
|
| + 'used up to three times for more logging info.')
|
| + parser.add_option('--gclientfile', dest='config_filename',
|
| + default=os.environ.get('GCLIENT_FILE', '.gclient'),
|
| + help='Specify an alternate %default file')
|
| + # Integrate standard options processing.
|
| + old_parser = parser.parse_args
|
| + def Parse(args):
|
| + (options, args) = old_parser(args)
|
| + level = None
|
| + if options.verbose == 2:
|
| + level = logging.INFO
|
| + elif options.verbose > 2:
|
| + level = logging.DEBUG
|
| + logging.basicConfig(level=level,
|
| + format='%(module)s(%(lineno)d) %(funcName)s:%(message)s')
|
| + options.entries_filename = options.config_filename + '_entries'
|
| + if options.jobs < 1:
|
| + parser.error('--jobs must be 1 or higher')
|
| +
|
| + # These hacks need to die.
|
| + if not hasattr(options, 'revisions'):
|
| + # GClient.RunOnDeps expects it even if not applicable.
|
| + options.revisions = []
|
| + if not hasattr(options, 'head'):
|
| + options.head = None
|
| + if not hasattr(options, 'nohooks'):
|
| + options.nohooks = True
|
| + if not hasattr(options, 'deps_os'):
|
| + options.deps_os = None
|
| + if not hasattr(options, 'manually_grab_svn_rev'):
|
| + options.manually_grab_svn_rev = None
|
| + if not hasattr(options, 'force'):
|
| + options.force = None
|
| + return (options, args)
|
| + parser.parse_args = Parse
|
| + # We don't want wordwrapping in epilog (usually examples)
|
| + parser.format_epilog = lambda _: parser.epilog or ''
|
| + return parser
|
| +
|
| +
|
| def Main(argv):
|
| """Doesn't parse the arguments here, just find the right subcommand to
|
| execute."""
|
| @@ -1247,49 +1295,7 @@ def Main(argv):
|
| CMDhelp.usage = ('\n\nCommands are:\n' + '\n'.join([
|
| ' %-10s %s' % (fn[3:], Command(fn[3:]).__doc__.split('\n')[0].strip())
|
| for fn in dir(sys.modules[__name__]) if fn.startswith('CMD')]))
|
| - parser = optparse.OptionParser(version='%prog ' + __version__)
|
| - parser.add_option('-j', '--jobs', default=1, type='int',
|
| - help='Specify how many SCM commands can run in parallel; '
|
| - 'default=%default')
|
| - parser.add_option('-v', '--verbose', action='count', default=0,
|
| - help='Produces additional output for diagnostics. Can be '
|
| - 'used up to three times for more logging info.')
|
| - parser.add_option('--gclientfile', dest='config_filename',
|
| - default=os.environ.get('GCLIENT_FILE', '.gclient'),
|
| - help='Specify an alternate %default file')
|
| - # Integrate standard options processing.
|
| - old_parser = parser.parse_args
|
| - def Parse(args):
|
| - (options, args) = old_parser(args)
|
| - level = None
|
| - if options.verbose == 2:
|
| - level = logging.INFO
|
| - elif options.verbose > 2:
|
| - level = logging.DEBUG
|
| - logging.basicConfig(level=level,
|
| - format='%(module)s(%(lineno)d) %(funcName)s:%(message)s')
|
| - options.entries_filename = options.config_filename + '_entries'
|
| - if options.jobs < 1:
|
| - parser.error('--jobs must be 1 or higher')
|
| -
|
| - # These hacks need to die.
|
| - if not hasattr(options, 'revisions'):
|
| - # GClient.RunOnDeps expects it even if not applicable.
|
| - options.revisions = []
|
| - if not hasattr(options, 'head'):
|
| - options.head = None
|
| - if not hasattr(options, 'nohooks'):
|
| - options.nohooks = True
|
| - if not hasattr(options, 'deps_os'):
|
| - options.deps_os = None
|
| - if not hasattr(options, 'manually_grab_svn_rev'):
|
| - options.manually_grab_svn_rev = None
|
| - if not hasattr(options, 'force'):
|
| - options.force = None
|
| - return (options, args)
|
| - parser.parse_args = Parse
|
| - # We don't want wordwrapping in epilog (usually examples)
|
| - parser.format_epilog = lambda _: parser.epilog or ''
|
| + parser = Parser()
|
| if argv:
|
| command = Command(argv[0])
|
| if command:
|
|
|