| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
| 3 # | 3 # |
| 4 # Use of this source code is governed by a BSD-style license | 4 # Use of this source code is governed by a BSD-style license |
| 5 # that can be found in the LICENSE file in the root of the source | 5 # that can be found in the LICENSE file in the root of the source |
| 6 # tree. An additional intellectual property rights grant can be found | 6 # tree. An additional intellectual property rights grant can be found |
| 7 # in the file PATENTS. All contributing project authors may | 7 # in the file PATENTS. All contributing project authors may |
| 8 # be found in the AUTHORS file in the root of the source tree. | 8 # be found in the AUTHORS file in the root of the source tree. |
| 9 | 9 |
| 10 """Script to roll chromium_revision in the WebRTC DEPS file.""" | 10 """Script to roll chromium_revision in the WebRTC DEPS file.""" |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 current_cr_rev = current_cr_rev[0:7] | 252 current_cr_rev = current_cr_rev[0:7] |
| 253 new_cr_rev = new_cr_rev[0:7] | 253 new_cr_rev = new_cr_rev[0:7] |
| 254 rev_interval = '%s..%s' % (current_cr_rev, new_cr_rev) | 254 rev_interval = '%s..%s' % (current_cr_rev, new_cr_rev) |
| 255 | 255 |
| 256 current_git_number = ParseCommitPosition(ReadRemoteCrCommit(current_cr_rev)) | 256 current_git_number = ParseCommitPosition(ReadRemoteCrCommit(current_cr_rev)) |
| 257 new_git_number = ParseCommitPosition(ReadRemoteCrCommit(new_cr_rev)) | 257 new_git_number = ParseCommitPosition(ReadRemoteCrCommit(new_cr_rev)) |
| 258 git_number_interval = '%s:%s' % (current_git_number, new_git_number) | 258 git_number_interval = '%s:%s' % (current_git_number, new_git_number) |
| 259 | 259 |
| 260 commit_msg = ['Roll chromium_revision %s (%s)' % (rev_interval, | 260 commit_msg = ['Roll chromium_revision %s (%s)' % (rev_interval, |
| 261 git_number_interval)] | 261 git_number_interval)] |
| 262 | 262 # TBR field will be empty unless in some custom cases, where some engineers |
| 263 # are added. |
| 264 tbr_authors = '' |
| 263 if changed_deps_list: | 265 if changed_deps_list: |
| 264 commit_msg.append('\nRelevant changes:') | 266 commit_msg.append('\nRelevant changes:') |
| 265 | 267 |
| 266 for c in changed_deps_list: | 268 for c in changed_deps_list: |
| 267 commit_msg.append('* %s: %s..%s' % (c.path, c.current_rev[0:7], | 269 commit_msg.append('* %s: %s..%s' % (c.path, c.current_rev[0:7], |
| 268 c.new_rev[0:7])) | 270 c.new_rev[0:7])) |
| 271 if 'libvpx' in c.path: |
| 272 tbr_authors += 'marpan@webrtc.org, stefan@webrtc.org, ' |
| 269 | 273 |
| 270 change_url = CHROMIUM_FILE_TEMPLATE % (rev_interval, 'DEPS') | 274 change_url = CHROMIUM_FILE_TEMPLATE % (rev_interval, 'DEPS') |
| 271 commit_msg.append('Details: %s' % change_url) | 275 commit_msg.append('Details: %s' % change_url) |
| 272 | 276 |
| 273 if clang_change.current_rev != clang_change.new_rev: | 277 if clang_change.current_rev != clang_change.new_rev: |
| 274 commit_msg.append('\nClang version changed %s:%s' % | 278 commit_msg.append('\nClang version changed %s:%s' % |
| 275 (clang_change.current_rev, clang_change.new_rev)) | 279 (clang_change.current_rev, clang_change.new_rev)) |
| 276 change_url = CHROMIUM_FILE_TEMPLATE % (rev_interval, | 280 change_url = CHROMIUM_FILE_TEMPLATE % (rev_interval, |
| 277 CLANG_UPDATE_SCRIPT_URL_PATH) | 281 CLANG_UPDATE_SCRIPT_URL_PATH) |
| 278 commit_msg.append('Details: %s' % change_url) | 282 commit_msg.append('Details: %s' % change_url) |
| 283 tbr_authors += 'pbos@webrtc.org' |
| 279 else: | 284 else: |
| 280 commit_msg.append('\nClang version was not updated in this roll.') | 285 commit_msg.append('\nClang version was not updated in this roll.') |
| 286 commit_msg.append('\nTBR=%s\n' % tbr_authors) |
| 281 return '\n'.join(commit_msg) | 287 return '\n'.join(commit_msg) |
| 282 | 288 |
| 283 | 289 |
| 284 def UpdateDeps(deps_filename, old_cr_revision, new_cr_revision): | 290 def UpdateDeps(deps_filename, old_cr_revision, new_cr_revision): |
| 285 """Update the DEPS file with the new revision.""" | 291 """Update the DEPS file with the new revision.""" |
| 286 with open(deps_filename, 'rb') as deps_file: | 292 with open(deps_filename, 'rb') as deps_file: |
| 287 deps_content = deps_file.read() | 293 deps_content = deps_file.read() |
| 288 deps_content = deps_content.replace(old_cr_revision, new_cr_revision) | 294 deps_content = deps_content.replace(old_cr_revision, new_cr_revision) |
| 289 with open(deps_filename, 'wb') as deps_file: | 295 with open(deps_filename, 'wb') as deps_file: |
| 290 deps_file.write(deps_content) | 296 deps_file.write(deps_content) |
| 291 | 297 |
| 292 def _IsTreeClean(): | 298 def _IsTreeClean(): |
| 293 stdout, _ = _RunCommand(['git', 'status', '--porcelain']) | 299 stdout, _ = _RunCommand(['git', 'status', '--porcelain']) |
| 294 if len(stdout) == 0: | 300 if len(stdout) == 0: |
| 295 return True | 301 return True |
| 296 | 302 |
| 297 logging.error('Dirty/unversioned files:\n%s', stdout) | 303 logging.error('Dirty/unversioned files:\n%s', stdout) |
| 298 return False | 304 return False |
| 299 | 305 |
| 300 | 306 |
| 301 def _EnsureUpdatedMasterBranch(dry_run): | 307 def _EnsureUpdatedMasterBranch(dry_run): |
| 302 current_branch = _RunCommand( | 308 current_branch = _RunCommand( |
| 303 ['git', 'rev-parse', '--abbrev-ref', 'HEAD'])[0].splitlines()[0] | 309 ['git', 'rev-parse', '--abbrev-ref', 'HEAD'])[0].splitlines()[0] |
| 304 if current_branch != 'master': | 310 if current_branch != 'master': |
| 305 logging.error('Please checkout the master branch and re-run this script.') | 311 logging.error('Please checkout the master branch and re-run this script.') |
| 306 if not dry_run: | 312 if not dry_run: |
| 307 sys.exit(-1) | 313 sys.exit(-1) |
| 308 | 314 |
| 309 logging.info('Updating master branch...') | 315 logging.info('Updating master branch...') |
| 310 if not dry_run: | 316 _RunCommand(['git', 'pull']) |
| 311 _RunCommand(['git', 'pull']) | |
| 312 | 317 |
| 313 | 318 |
| 314 def _CreateRollBranch(dry_run): | 319 def _CreateRollBranch(dry_run): |
| 315 logging.info('Creating roll branch: %s', ROLL_BRANCH_NAME) | 320 logging.info('Creating roll branch: %s', ROLL_BRANCH_NAME) |
| 316 if not dry_run: | 321 if not dry_run: |
| 317 _RunCommand(['git', 'checkout', '-b', ROLL_BRANCH_NAME]) | 322 _RunCommand(['git', 'checkout', '-b', ROLL_BRANCH_NAME]) |
| 318 | 323 |
| 319 | 324 |
| 320 def _RemovePreviousRollBranch(dry_run): | 325 def _RemovePreviousRollBranch(dry_run): |
| 321 active_branch, branches = _GetBranches() | 326 active_branch, branches = _GetBranches() |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 _CreateRollBranch(opts.dry_run) | 409 _CreateRollBranch(opts.dry_run) |
| 405 UpdateDeps(deps_filename, current_cr_rev, opts.revision) | 410 UpdateDeps(deps_filename, current_cr_rev, opts.revision) |
| 406 _LocalCommit(commit_msg, opts.dry_run) | 411 _LocalCommit(commit_msg, opts.dry_run) |
| 407 _UploadCL(opts.dry_run) | 412 _UploadCL(opts.dry_run) |
| 408 _LaunchTrybots(opts.dry_run, opts.skip_try) | 413 _LaunchTrybots(opts.dry_run, opts.skip_try) |
| 409 return 0 | 414 return 0 |
| 410 | 415 |
| 411 | 416 |
| 412 if __name__ == '__main__': | 417 if __name__ == '__main__': |
| 413 sys.exit(main()) | 418 sys.exit(main()) |
| OLD | NEW |