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

Side by Side Diff: gclient.py

Issue 513923006: Skip MigrateConfigToGit if gclient config is non trivial. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: Skip non assign statments and strange assign operations Created 6 years, 3 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 | 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) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 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 """Meta checkout manager supporting both Subversion and GIT.""" 6 """Meta checkout manager supporting both Subversion and GIT."""
7 # Files 7 # Files
8 # .gclient : Current client configuration, written by 'config' command. 8 # .gclient : Current client configuration, written by 'config' command.
9 # Format is a Python script defining 'solutions', a list whose 9 # Format is a Python script defining 'solutions', a list whose
10 # entries each are maps binding the strings "name" and "url" 10 # entries each are maps binding the strings "name" and "url"
(...skipping 1247 matching lines...) Expand 10 before | Expand all | Expand 10 after
1258 '(trunk|branches/[^/]+)/src') 1258 '(trunk|branches/[^/]+)/src')
1259 old_git_re = re.compile('^(https?://git\.chromium\.org|' 1259 old_git_re = re.compile('^(https?://git\.chromium\.org|'
1260 'ssh://([a-zA-Z_][a-zA-Z0-9_-]*@)?' 1260 'ssh://([a-zA-Z_][a-zA-Z0-9_-]*@)?'
1261 'gerrit\.chromium\.org(:2941[89])?)/' 1261 'gerrit\.chromium\.org(:2941[89])?)/'
1262 'chromium/src\.git') 1262 'chromium/src\.git')
1263 # Scan existing .gclient file for obsolete settings. It would be simpler 1263 # Scan existing .gclient file for obsolete settings. It would be simpler
1264 # to traverse self.dependencies, but working with the AST allows the code to 1264 # to traverse self.dependencies, but working with the AST allows the code to
1265 # dump an updated .gclient file that preserves the ordering of the original. 1265 # dump an updated .gclient file that preserves the ordering of the original.
1266 a = ast.parse(self.config_content, options.config_filename, 'exec') 1266 a = ast.parse(self.config_content, options.config_filename, 'exec')
1267 modified = False 1267 modified = False
1268 solutions = [elem for elem in a.body if 'solutions' in 1268
1269 [target.id for target in elem.targets]] 1269 solutions = [elem for elem in a.body if elem.__class__ is ast.Assign and
1270 'solutions' in [target.id for target in elem.targets]]
1270 if not solutions: 1271 if not solutions:
1271 return self 1272 return self
1272 solutions = solutions[-1] 1273 solutions = solutions[-1]
1273 for solution in solutions.value.elts: 1274 for solution in solutions.value.elts:
1275 # Non-trivial assignment to solutions.
1276 if solution.__class__ is not ast.Dict:
1277 continue
1274 # Check for obsolete URL's 1278 # Check for obsolete URL's
1275 url_idx = ast_dict_index(solution, 'url') 1279 url_idx = ast_dict_index(solution, 'url')
1276 if url_idx == -1: 1280 if url_idx == -1:
1277 continue 1281 continue
1278 url_val = solution.values[url_idx] 1282 url_val = solution.values[url_idx]
1279 if type(url_val) is not ast.Str: 1283 if type(url_val) is not ast.Str:
1280 continue 1284 continue
1281 if (svn_url_re.match(url_val.s.strip())): 1285 if (svn_url_re.match(url_val.s.strip())):
1282 raise gclient_utils.Error( 1286 raise gclient_utils.Error(
1283 """ 1287 """
(...skipping 910 matching lines...) Expand 10 before | Expand all | Expand 10 after
2194 print >> sys.stderr, 'Error: %s' % str(e) 2198 print >> sys.stderr, 'Error: %s' % str(e)
2195 return 1 2199 return 1
2196 finally: 2200 finally:
2197 gclient_utils.PrintWarnings() 2201 gclient_utils.PrintWarnings()
2198 2202
2199 2203
2200 if '__main__' == __name__: 2204 if '__main__' == __name__:
2201 sys.exit(Main(sys.argv[1:])) 2205 sys.exit(Main(sys.argv[1:]))
2202 2206
2203 # vim: ts=2:sw=2:tw=80:et: 2207 # vim: ts=2:sw=2:tw=80:et:
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