Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(349)

Side by Side Diff: gclient.py

Issue 2776006: Options cleanup, enforce nohooks and deps_os are always defined. (Closed)
Patch Set: Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | tests/gclient_smoketest.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2010 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """A wrapper script to manage a set of client modules in different SCM. 6 """A wrapper script to manage a set of client modules in different SCM.
7 7
8 This script is intended to be used to help basic management of client 8 This script is intended to be used to help basic management of client
9 program sources residing in one or more Subversion modules and Git 9 program sources residing in one or more Subversion modules and Git
10 repositories, along with other modules it depends on, also in Subversion or Git, 10 repositories, along with other modules it depends on, also in Subversion or Git,
(...skipping 1072 matching lines...) Expand 10 before | Expand all | Expand 10 after
1083 1083
1084 def Main(argv): 1084 def Main(argv):
1085 """Doesn't parse the arguments here, just find the right subcommand to 1085 """Doesn't parse the arguments here, just find the right subcommand to
1086 execute.""" 1086 execute."""
1087 try: 1087 try:
1088 # Do it late so all commands are listed. 1088 # Do it late so all commands are listed.
1089 CMDhelp.usage = ('\n\nCommands are:\n' + '\n'.join([ 1089 CMDhelp.usage = ('\n\nCommands are:\n' + '\n'.join([
1090 ' %-10s %s' % (fn[3:], Command(fn[3:]).__doc__.split('\n')[0].strip()) 1090 ' %-10s %s' % (fn[3:], Command(fn[3:]).__doc__.split('\n')[0].strip())
1091 for fn in dir(sys.modules[__name__]) if fn.startswith('CMD')])) 1091 for fn in dir(sys.modules[__name__]) if fn.startswith('CMD')]))
1092 parser = optparse.OptionParser(version='%prog ' + __version__) 1092 parser = optparse.OptionParser(version='%prog ' + __version__)
1093 parser.add_option("-v", "--verbose", action="count", default=0, 1093 parser.add_option('-v', '--verbose', action='count', default=0,
1094 help="Produces additional output for diagnostics. Can be " 1094 help='Produces additional output for diagnostics. Can be '
1095 "used up to three times for more logging info.") 1095 'used up to three times for more logging info.')
1096 parser.add_option("--gclientfile", metavar="FILENAME", 1096 parser.add_option('--gclientfile', dest='config_filename',
1097 dest="config_filename", 1097 default=os.environ.get('GCLIENT_FILE', '.gclient'),
1098 default=os.environ.get("GCLIENT_FILE", ".gclient"), 1098 help='Specify an alternate %default file')
1099 help="Specify an alternate .gclient file")
1100 # Integrate standard options processing. 1099 # Integrate standard options processing.
1101 old_parser = parser.parse_args 1100 old_parser = parser.parse_args
1102 def Parse(args): 1101 def Parse(args):
1103 (options, args) = old_parser(args) 1102 (options, args) = old_parser(args)
1103 level = None
1104 if options.verbose == 2: 1104 if options.verbose == 2:
1105 logging.basicConfig(level=logging.INFO) 1105 level = logging.INFO
1106 elif options.verbose > 2: 1106 elif options.verbose > 2:
1107 logging.basicConfig(level=logging.DEBUG) 1107 level = logging.DEBUG
1108 options.entries_filename = options.config_filename + "_entries" 1108 logging.basicConfig(level=level,
1109 format='%(module)s(%(lineno)d) %(funcName)s:%(message)s')
1110 options.entries_filename = options.config_filename + '_entries'
1109 if not hasattr(options, 'revisions'): 1111 if not hasattr(options, 'revisions'):
1110 # GClient.RunOnDeps expects it even if not applicable. 1112 # GClient.RunOnDeps expects it even if not applicable.
1111 options.revisions = [] 1113 options.revisions = []
1112 if not hasattr(options, 'head'): 1114 if not hasattr(options, 'head'):
1113 options.head = None 1115 options.head = None
1116 if not hasattr(options, 'nohooks'):
1117 options.nohooks = True
1118 if not hasattr(options, 'deps_os'):
1119 options.deps_os = None
1114 return (options, args) 1120 return (options, args)
1115 parser.parse_args = Parse 1121 parser.parse_args = Parse
1116 # We don't want wordwrapping in epilog (usually examples) 1122 # We don't want wordwrapping in epilog (usually examples)
1117 parser.format_epilog = lambda _: parser.epilog or '' 1123 parser.format_epilog = lambda _: parser.epilog or ''
1118 if argv: 1124 if argv:
1119 command = Command(argv[0]) 1125 command = Command(argv[0])
1120 if command: 1126 if command:
1121 # "fix" the usage and the description now that we know the subcommand. 1127 # 'fix' the usage and the description now that we know the subcommand.
1122 GenUsage(parser, argv[0]) 1128 GenUsage(parser, argv[0])
1123 return command(parser, argv[1:]) 1129 return command(parser, argv[1:])
1124 # Not a known command. Default to help. 1130 # Not a known command. Default to help.
1125 GenUsage(parser, 'help') 1131 GenUsage(parser, 'help')
1126 return CMDhelp(parser, argv) 1132 return CMDhelp(parser, argv)
1127 except gclient_utils.Error, e: 1133 except gclient_utils.Error, e:
1128 print >> sys.stderr, "Error: %s" % str(e) 1134 print >> sys.stderr, 'Error: %s' % str(e)
1129 return 1 1135 return 1
1130 1136
1131 1137
1132 if "__main__" == __name__: 1138 if '__main__' == __name__:
1133 sys.exit(Main(sys.argv[1:])) 1139 sys.exit(Main(sys.argv[1:]))
1134 1140
1135 # vim: ts=2:sw=2:tw=80:et: 1141 # vim: ts=2:sw=2:tw=80:et:
OLDNEW
« no previous file with comments | « no previous file | tests/gclient_smoketest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698