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

Side by Side Diff: fetch.py

Issue 138623008: Fix a typo for "--dry-run" in the usage message. (Closed) Base URL: http://src.chromium.org/svn/trunk/tools/depot_tools/
Patch Set: Rename self.options.dryrun to self.options.dry_run Created 6 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | 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/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2013 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 """ 6 """
7 Tool to perform checkouts in one easy command line! 7 Tool to perform checkouts in one easy command line!
8 8
9 Usage: 9 Usage:
10 fetch <recipe> [--property=value [--property2=value2 ...]] 10 fetch <recipe> [--property=value [--property2=value2 ...]]
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 pass 53 pass
54 54
55 def init(self): 55 def init(self):
56 pass 56 pass
57 57
58 def sync(self): 58 def sync(self):
59 pass 59 pass
60 60
61 def run(self, cmd, **kwargs): 61 def run(self, cmd, **kwargs):
62 print 'Running: %s' % (' '.join(pipes.quote(x) for x in cmd)) 62 print 'Running: %s' % (' '.join(pipes.quote(x) for x in cmd))
63 if self.options.dryrun: 63 if self.options.dry_run:
64 return 0 64 return 0
65 return subprocess.check_call(cmd, **kwargs) 65 return subprocess.check_call(cmd, **kwargs)
66 66
67 67
68 class GclientCheckout(Checkout): 68 class GclientCheckout(Checkout):
69 69
70 def run_gclient(self, *cmd, **kwargs): 70 def run_gclient(self, *cmd, **kwargs):
71 if not spawn.find_executable('gclient'): 71 if not spawn.find_executable('gclient'):
72 cmd_prefix = (sys.executable, os.path.join(SCRIPT_PATH, 'gclient.py')) 72 cmd_prefix = (sys.executable, os.path.join(SCRIPT_PATH, 'gclient.py'))
73 else: 73 else:
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 114
115 # Configure and do the gclient checkout. 115 # Configure and do the gclient checkout.
116 self.run_gclient('config', '--spec', self.spec['gclient_spec']) 116 self.run_gclient('config', '--spec', self.spec['gclient_spec'])
117 if self.options.nohooks: 117 if self.options.nohooks:
118 self.run_gclient('sync', '--nohooks') 118 self.run_gclient('sync', '--nohooks')
119 else: 119 else:
120 self.run_gclient('sync') 120 self.run_gclient('sync')
121 121
122 # Configure git. 122 # Configure git.
123 wd = os.path.join(self.base, self.root) 123 wd = os.path.join(self.base, self.root)
124 if self.options.dryrun: 124 if self.options.dry_run:
125 print 'cd %s' % wd 125 print 'cd %s' % wd
126 self.run_git( 126 self.run_git(
127 'submodule', 'foreach', 127 'submodule', 'foreach',
128 'git config -f $toplevel/.git/config submodule.$name.ignore all', 128 'git config -f $toplevel/.git/config submodule.$name.ignore all',
129 cwd=wd) 129 cwd=wd)
130 self.run_git('config', 'diff.ignoreSubmodules', 'all', cwd=wd) 130 self.run_git('config', 'diff.ignoreSubmodules', 'all', cwd=wd)
131 131
132 132
133 class GclientGitSvnCheckout(GclientGitCheckout, SvnCheckout): 133 class GclientGitSvnCheckout(GclientGitCheckout, SvnCheckout):
134 134
(...skipping 15 matching lines...) Expand all
150 return 1 150 return 1
151 151
152 super(GclientGitSvnCheckout, self).init() 152 super(GclientGitSvnCheckout, self).init()
153 153
154 # Configure git-svn. 154 # Configure git-svn.
155 for path, svn_spec in git_svn_dirs.iteritems(): 155 for path, svn_spec in git_svn_dirs.iteritems():
156 real_path = os.path.join(*path.split('/')) 156 real_path = os.path.join(*path.split('/'))
157 if real_path != self.root: 157 if real_path != self.root:
158 real_path = os.path.join(self.root, real_path) 158 real_path = os.path.join(self.root, real_path)
159 wd = os.path.join(self.base, real_path) 159 wd = os.path.join(self.base, real_path)
160 if self.options.dryrun: 160 if self.options.dry_run:
161 print 'cd %s' % wd 161 print 'cd %s' % wd
162 self.run_git('svn', 'init', '--prefix=origin/', '-T', 162 self.run_git('svn', 'init', '--prefix=origin/', '-T',
163 svn_spec['svn_branch'], svn_spec['svn_url'], cwd=wd) 163 svn_spec['svn_branch'], svn_spec['svn_url'], cwd=wd)
164 self.run_git('config', '--replace', 'svn-remote.svn.fetch', 164 self.run_git('config', '--replace', 'svn-remote.svn.fetch',
165 svn_spec['svn_branch'] + ':refs/remotes/origin/' + 165 svn_spec['svn_branch'] + ':refs/remotes/origin/' +
166 svn_spec['svn_ref'], cwd=wd) 166 svn_spec['svn_ref'], cwd=wd)
167 self.run_git('svn', 'fetch', cwd=wd) 167 self.run_git('svn', 'fetch', cwd=wd)
168 168
169 169
170 170
(...skipping 25 matching lines...) Expand all
196 """ 196 """
197 usage: %s [options] <recipe> [--property=value [--property2=value2 ...]] 197 usage: %s [options] <recipe> [--property=value [--property2=value2 ...]]
198 198
199 This script can be used to download the Chromium sources. See 199 This script can be used to download the Chromium sources. See
200 http://www.chromium.org/developers/how-tos/get-the-code 200 http://www.chromium.org/developers/how-tos/get-the-code
201 for full usage instructions. 201 for full usage instructions.
202 202
203 Valid options: 203 Valid options:
204 -h, --help, help Print this message. 204 -h, --help, help Print this message.
205 --nohooks Don't run hooks after checkout. 205 --nohooks Don't run hooks after checkout.
206 -n, --dryrun Don't run commands, only print them. 206 -n, --dry-run Don't run commands, only print them.
207 """ % os.path.basename(sys.argv[0])) 207 """ % os.path.basename(sys.argv[0]))
208 sys.exit(bool(msg)) 208 sys.exit(bool(msg))
209 209
210 210
211 def handle_args(argv): 211 def handle_args(argv):
212 """Gets the recipe name from the command line arguments.""" 212 """Gets the recipe name from the command line arguments."""
213 if len(argv) <= 1: 213 if len(argv) <= 1:
214 usage('Must specify a recipe.') 214 usage('Must specify a recipe.')
215 if argv[1] in ('-h', '--help', 'help'): 215 if argv[1] in ('-h', '--help', 'help'):
216 usage() 216 usage()
217 217
218 dryrun = False 218 dry_run = False
219 nohooks = False 219 nohooks = False
220 while len(argv) >= 2: 220 while len(argv) >= 2:
221 arg = argv[1] 221 arg = argv[1]
222 if not arg.startswith('-'): 222 if not arg.startswith('-'):
223 break 223 break
224 argv.pop(1) 224 argv.pop(1)
225 if arg in ('-n', '--dry-run'): 225 if arg in ('-n', '--dry-run'):
226 dryrun = True 226 dry_run = True
227 elif arg == '--nohooks': 227 elif arg == '--nohooks':
228 nohooks = True 228 nohooks = True
229 else: 229 else:
230 usage('Invalid option %s.' % arg) 230 usage('Invalid option %s.' % arg)
231 231
232 def looks_like_arg(arg): 232 def looks_like_arg(arg):
233 return arg.startswith('--') and arg.count('=') == 1 233 return arg.startswith('--') and arg.count('=') == 1
234 234
235 bad_parms = [x for x in argv[2:] if not looks_like_arg(x)] 235 bad_parms = [x for x in argv[2:] if not looks_like_arg(x)]
236 if bad_parms: 236 if bad_parms:
237 usage('Got bad arguments %s' % bad_parms) 237 usage('Got bad arguments %s' % bad_parms)
238 238
239 recipe = argv[1] 239 recipe = argv[1]
240 props = argv[2:] 240 props = argv[2:]
241 return optparse.Values({'dryrun':dryrun, 'nohooks':nohooks }), recipe, props 241 return optparse.Values({'dry_run':dry_run, 'nohooks':nohooks }), recipe, props
wtc 2014/02/12 06:00:08 I am not sure about this change. I assume the sing
Dirk Pranke 2014/02/12 21:08:04 Yup, that's the right change. LGTM, thanks!
242 242
243 243
244 def run_recipe_fetch(recipe, props, aliased=False): 244 def run_recipe_fetch(recipe, props, aliased=False):
245 """Invoke a recipe's fetch method with the passed-through args 245 """Invoke a recipe's fetch method with the passed-through args
246 and return its json output as a python object.""" 246 and return its json output as a python object."""
247 recipe_path = os.path.abspath(os.path.join(SCRIPT_PATH, 'recipes', recipe)) 247 recipe_path = os.path.abspath(os.path.join(SCRIPT_PATH, 'recipes', recipe))
248 if not os.path.exists(recipe_path + '.py'): 248 if not os.path.exists(recipe_path + '.py'):
249 print "Could not find a recipe for %s" % recipe 249 print "Could not find a recipe for %s" % recipe
250 sys.exit(1) 250 sys.exit(1)
251 251
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 290
291 291
292 def main(): 292 def main():
293 options, recipe, props = handle_args(sys.argv) 293 options, recipe, props = handle_args(sys.argv)
294 spec, root = run_recipe_fetch(recipe, props) 294 spec, root = run_recipe_fetch(recipe, props)
295 return run(options, spec, root) 295 return run(options, spec, root)
296 296
297 297
298 if __name__ == '__main__': 298 if __name__ == '__main__':
299 sys.exit(main()) 299 sys.exit(main())
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698