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

Side by Side Diff: recipe_modules/bot_update/resources/bot_update.py

Issue 1954083002: depot_tools: add debug logic to bot_update for gerrit patches (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: Created 4 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
« 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 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 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 # TODO(hinoka): Use logging. 6 # TODO(hinoka): Use logging.
7 7
8 import cStringIO 8 import cStringIO
9 import codecs 9 import codecs
10 import collections 10 import collections
(...skipping 1117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1128 1128
1129 # Only try once, since subsequent failures hide the real failure. 1129 # Only try once, since subsequent failures hide the real failure.
1130 try: 1130 try:
1131 call(*cmd, tries=1) 1131 call(*cmd, tries=1)
1132 except SubprocessFailed as e: 1132 except SubprocessFailed as e:
1133 raise PatchFailed(e.message, e.code, e.output) 1133 raise PatchFailed(e.message, e.code, e.output)
1134 1134
1135 def apply_gerrit_ref(gerrit_repo, gerrit_ref, root, gerrit_reset): 1135 def apply_gerrit_ref(gerrit_repo, gerrit_ref, root, gerrit_reset):
1136 gerrit_repo = gerrit_repo or 'origin' 1136 gerrit_repo = gerrit_repo or 'origin'
1137 assert gerrit_ref 1137 assert gerrit_ref
1138 print '===Applying gerrit ref==='
1139 print 'Repo is %r, ref is %r, root is %r' % (gerrit_repo, gerrit_ref, root)
1138 try: 1140 try:
1139 base_rev = git('rev-parse', 'HEAD', cwd=root).strip() 1141 base_rev = git('rev-parse', 'HEAD', cwd=root).strip()
1140 git('retry', 'fetch', gerrit_repo, gerrit_ref, cwd=root, tries=1) 1142 git('retry', 'fetch', gerrit_repo, gerrit_ref, cwd=root, tries=1)
1141 git('checkout', 'FETCH_HEAD', cwd=root) 1143 git('checkout', 'FETCH_HEAD', cwd=root)
1142 if gerrit_reset: 1144 if gerrit_reset:
1143 git('reset', '--soft', base_rev, cwd=root) 1145 git('reset', '--soft', base_rev, cwd=root)
1144 except SubprocessFailed as e: 1146 except SubprocessFailed as e:
1145 raise PatchFailed(e.message, e.code, e.output) 1147 raise PatchFailed(e.message, e.code, e.output)
1146 1148
1147 def check_flag(flag_file): 1149 def check_flag(flag_file):
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1304 # Calling git directly because there is no way to run Gclient without 1306 # Calling git directly because there is no way to run Gclient without
1305 # invoking DEPS. 1307 # invoking DEPS.
1306 print 'Fetching Git checkout' 1308 print 'Fetching Git checkout'
1307 1309
1308 git_ref = git_checkout(solutions, revisions, shallow, refs, git_cache_dir) 1310 git_ref = git_checkout(solutions, revisions, shallow, refs, git_cache_dir)
1309 1311
1310 patches = None 1312 patches = None
1311 if patch_url: 1313 if patch_url:
1312 patches = get_svn_patch(patch_url) 1314 patches = get_svn_patch(patch_url)
1313 1315
1316 print '===Processing patch solutions==='
1314 already_patched = [] 1317 already_patched = []
1315 patch_root = patch_root or '' 1318 patch_root = patch_root or ''
1319 print 'Patch root is %r' % patch_root
1316 for solution in solutions: 1320 for solution in solutions:
1321 print 'Processing solution %r' % solution['name']
1317 if (patch_root == solution['name'] or 1322 if (patch_root == solution['name'] or
1318 solution['name'].startswith(patch_root + '/')): 1323 solution['name'].startswith(patch_root + '/')):
1319 relative_root = solution['name'][len(patch_root) + 1:] 1324 relative_root = solution['name'][len(patch_root) + 1:]
1320 target = '/'.join([relative_root, 'DEPS']).lstrip('/') 1325 target = '/'.join([relative_root, 'DEPS']).lstrip('/')
1326 print ' relative root is %r, target is %r' % (relative_root, target)
1321 if patches: 1327 if patches:
1322 apply_svn_patch(patch_root, patches, whitelist=[target]) 1328 apply_svn_patch(patch_root, patches, whitelist=[target])
1323 already_patched.append(target) 1329 already_patched.append(target)
1324 elif issue: 1330 elif issue:
1325 apply_rietveld_issue(issue, patchset, patch_root, rietveld_server, 1331 apply_rietveld_issue(issue, patchset, patch_root, rietveld_server,
1326 revision_mapping, git_ref, apply_issue_email_file, 1332 revision_mapping, git_ref, apply_issue_email_file,
1327 apply_issue_key_file, whitelist=[target]) 1333 apply_issue_key_file, whitelist=[target])
1328 already_patched.append(target) 1334 already_patched.append(target)
1329 1335
1330 if not buildspec: 1336 if not buildspec:
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
1755 except Exception: 1761 except Exception:
1756 # Unexpected failure. 1762 # Unexpected failure.
1757 emit_flag(options.flag_file) 1763 emit_flag(options.flag_file)
1758 raise 1764 raise
1759 else: 1765 else:
1760 emit_flag(options.flag_file) 1766 emit_flag(options.flag_file)
1761 1767
1762 1768
1763 if __name__ == '__main__': 1769 if __name__ == '__main__':
1764 sys.exit(main()) 1770 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