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

Side by Side Diff: fetch.py

Issue 225743005: Add recipe for v8 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: updates Created 6 years, 7 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 | gclient_scm.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/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 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 gclient_spec = '\n'.join('%s = %s' % (key, self.spec[key]) 104 gclient_spec = '\n'.join('%s = %s' % (key, self.spec[key])
105 for key in keys if key in self.spec) 105 for key in keys if key in self.spec)
106 self.spec['gclient_spec'] = gclient_spec 106 self.spec['gclient_spec'] = gclient_spec
107 107
108 def exists(self): 108 def exists(self):
109 return os.path.exists(os.path.join(os.getcwd(), self.root)) 109 return os.path.exists(os.path.join(os.getcwd(), self.root))
110 110
111 def init(self): 111 def init(self):
112 # Configure and do the gclient checkout. 112 # Configure and do the gclient checkout.
113 self.run_gclient('config', '--spec', self.spec['gclient_spec']) 113 self.run_gclient('config', '--spec', self.spec['gclient_spec'])
114 sync_cmd = ['sync']
114 if self.options.nohooks: 115 if self.options.nohooks:
115 self.run_gclient('sync', '--nohooks') 116 sync_cmd.append('--nohooks')
116 else: 117 if self.spec.get('with_branch_heads', False):
117 self.run_gclient('sync') 118 sync_cmd.append('--with_branch_heads')
119 self.run_gclient(*sync_cmd)
118 120
119 # Configure git. 121 # Configure git.
120 wd = os.path.join(self.base, self.root) 122 wd = os.path.join(self.base, self.root)
121 if self.options.dry_run: 123 if self.options.dry_run:
122 print 'cd %s' % wd 124 print 'cd %s' % wd
123 self.run_git( 125 self.run_git(
124 'submodule', 'foreach', 126 'submodule', 'foreach',
125 'git config -f $toplevel/.git/config submodule.$name.ignore all', 127 'git config -f $toplevel/.git/config submodule.$name.ignore all',
126 cwd=wd) 128 cwd=wd)
127 self.run_git( 129 self.run_git(
(...skipping 24 matching lines...) Expand all
152 super(GclientGitSvnCheckout, self).init() 154 super(GclientGitSvnCheckout, self).init()
153 155
154 # Configure git-svn. 156 # Configure git-svn.
155 for path, svn_spec in git_svn_dirs.iteritems(): 157 for path, svn_spec in git_svn_dirs.iteritems():
156 real_path = os.path.join(*path.split('/')) 158 real_path = os.path.join(*path.split('/'))
157 if real_path != self.root: 159 if real_path != self.root:
158 real_path = os.path.join(self.root, real_path) 160 real_path = os.path.join(self.root, real_path)
159 wd = os.path.join(self.base, real_path) 161 wd = os.path.join(self.base, real_path)
160 if self.options.dry_run: 162 if self.options.dry_run:
161 print 'cd %s' % wd 163 print 'cd %s' % wd
162 self.run_git('svn', 'init', '--prefix=origin/', '-T', 164 prefix = svn_spec.get('svn_prefix', 'origin/')
165 self.run_git('svn', 'init', '--prefix=' + prefix, '-T',
163 svn_spec['svn_branch'], svn_spec['svn_url'], cwd=wd) 166 svn_spec['svn_branch'], svn_spec['svn_url'], cwd=wd)
164 self.run_git('config', '--replace', 'svn-remote.svn.fetch', 167 self.run_git('config', '--replace', 'svn-remote.svn.fetch',
165 svn_spec['svn_branch'] + ':refs/remotes/origin/' + 168 svn_spec['svn_branch'] + ':refs/remotes/' + prefix +
166 svn_spec['svn_ref'], cwd=wd) 169 svn_spec['svn_ref'], cwd=wd)
167 self.run_git('svn', 'fetch', cwd=wd) 170 self.run_git('svn', 'fetch', cwd=wd)
168 171
169 172
170 173
171 CHECKOUT_TYPE_MAP = { 174 CHECKOUT_TYPE_MAP = {
172 'gclient': GclientCheckout, 175 'gclient': GclientCheckout,
173 'gclient_git': GclientGitCheckout, 176 'gclient_git': GclientGitCheckout,
174 'gclient_git_svn': GclientGitSvnCheckout, 177 'gclient_git_svn': GclientGitSvnCheckout,
175 'git': GitCheckout, 178 'git': GitCheckout,
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 293
291 294
292 def main(): 295 def main():
293 options, recipe, props = handle_args(sys.argv) 296 options, recipe, props = handle_args(sys.argv)
294 spec, root = run_recipe_fetch(recipe, props) 297 spec, root = run_recipe_fetch(recipe, props)
295 return run(options, spec, root) 298 return run(options, spec, root)
296 299
297 300
298 if __name__ == '__main__': 301 if __name__ == '__main__':
299 sys.exit(main()) 302 sys.exit(main())
OLDNEW
« no previous file with comments | « no previous file | gclient_scm.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698