| 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 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 | 282 |
| 283 | 283 |
| 284 def UpdateDeps(deps_filename, old_cr_revision, new_cr_revision): | 284 def UpdateDeps(deps_filename, old_cr_revision, new_cr_revision): |
| 285 """Update the DEPS file with the new revision.""" | 285 """Update the DEPS file with the new revision.""" |
| 286 with open(deps_filename, 'rb') as deps_file: | 286 with open(deps_filename, 'rb') as deps_file: |
| 287 deps_content = deps_file.read() | 287 deps_content = deps_file.read() |
| 288 deps_content = deps_content.replace(old_cr_revision, new_cr_revision) | 288 deps_content = deps_content.replace(old_cr_revision, new_cr_revision) |
| 289 with open(deps_filename, 'wb') as deps_file: | 289 with open(deps_filename, 'wb') as deps_file: |
| 290 deps_file.write(deps_content) | 290 deps_file.write(deps_content) |
| 291 | 291 |
| 292 def _IsTreeClean(): |
| 293 stdout, _ = _RunCommand(['git', 'status', '--porcelain']) |
| 294 if len(stdout) == 0: |
| 295 return True |
| 296 |
| 297 logging.error('Dirty/unversioned files:\n%s', stdout) |
| 298 return False |
| 292 | 299 |
| 293 def _CreateRollBranch(dry_run): | 300 def _CreateRollBranch(dry_run): |
| 294 current_branch = _RunCommand( | 301 current_branch = _RunCommand( |
| 295 ['git', 'rev-parse', '--abbrev-ref', 'HEAD'])[0].splitlines()[0] | 302 ['git', 'rev-parse', '--abbrev-ref', 'HEAD'])[0].splitlines()[0] |
| 296 if current_branch != 'master': | 303 if current_branch != 'master': |
| 297 logging.error('Please checkout the master branch and re-run this script.') | 304 logging.error('Please checkout the master branch and re-run this script.') |
| 298 if not dry_run: | 305 if not dry_run: |
| 299 sys.exit(-1) | 306 sys.exit(-1) |
| 300 | 307 |
| 308 logging.info('Updating master branch...') |
| 309 if not dry_run: |
| 310 _RunCommand(['git', 'pull']) |
| 301 logging.info('Creating roll branch: %s', ROLL_BRANCH_NAME) | 311 logging.info('Creating roll branch: %s', ROLL_BRANCH_NAME) |
| 302 if not dry_run: | 312 if not dry_run: |
| 303 _RunCommand(['git', 'checkout', '-b', ROLL_BRANCH_NAME]) | 313 _RunCommand(['git', 'checkout', '-b', ROLL_BRANCH_NAME]) |
| 304 | 314 |
| 305 | 315 |
| 306 def _RemovePreviousRollBranch(dry_run): | 316 def _RemovePreviousRollBranch(dry_run): |
| 307 active_branch, branches = _GetBranches() | 317 active_branch, branches = _GetBranches() |
| 308 if active_branch == ROLL_BRANCH_NAME: | 318 if active_branch == ROLL_BRANCH_NAME: |
| 309 active_branch = 'master' | 319 active_branch = 'master' |
| 310 if ROLL_BRANCH_NAME in branches: | 320 if ROLL_BRANCH_NAME in branches: |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 346 'tryjobs.')) | 356 'tryjobs.')) |
| 347 p.add_argument('-v', '--verbose', action='store_true', default=False, | 357 p.add_argument('-v', '--verbose', action='store_true', default=False, |
| 348 help='Be extra verbose in printing of log messages.') | 358 help='Be extra verbose in printing of log messages.') |
| 349 opts = p.parse_args() | 359 opts = p.parse_args() |
| 350 | 360 |
| 351 if opts.verbose: | 361 if opts.verbose: |
| 352 logging.basicConfig(level=logging.DEBUG) | 362 logging.basicConfig(level=logging.DEBUG) |
| 353 else: | 363 else: |
| 354 logging.basicConfig(level=logging.INFO) | 364 logging.basicConfig(level=logging.INFO) |
| 355 | 365 |
| 366 if not _IsTreeClean(): |
| 367 logging.error('Please clean your local checkout first.') |
| 368 return 1 |
| 369 |
| 356 if opts.clean: | 370 if opts.clean: |
| 357 _RemovePreviousRollBranch(opts.dry_run) | 371 _RemovePreviousRollBranch(opts.dry_run) |
| 358 | 372 |
| 359 if not opts.revision: | 373 if not opts.revision: |
| 360 lkgr_contents = ReadUrlContent(CHROMIUM_LKGR_URL) | 374 lkgr_contents = ReadUrlContent(CHROMIUM_LKGR_URL) |
| 361 logging.info('No revision specified. Using LKGR: %s', lkgr_contents[0]) | 375 logging.info('No revision specified. Using LKGR: %s', lkgr_contents[0]) |
| 362 opts.revision = lkgr_contents[0] | 376 opts.revision = lkgr_contents[0] |
| 363 | 377 |
| 364 deps_filename = os.path.join(CHECKOUT_ROOT_DIR, 'DEPS') | 378 deps_filename = os.path.join(CHECKOUT_ROOT_DIR, 'DEPS') |
| 365 local_deps = ParseLocalDepsFile(deps_filename) | 379 local_deps = ParseLocalDepsFile(deps_filename) |
| (...skipping 16 matching lines...) Expand all Loading... |
| 382 _CreateRollBranch(opts.dry_run) | 396 _CreateRollBranch(opts.dry_run) |
| 383 UpdateDeps(deps_filename, current_cr_rev, opts.revision) | 397 UpdateDeps(deps_filename, current_cr_rev, opts.revision) |
| 384 _LocalCommit(commit_msg, opts.dry_run) | 398 _LocalCommit(commit_msg, opts.dry_run) |
| 385 _UploadCL(opts.dry_run) | 399 _UploadCL(opts.dry_run) |
| 386 _LaunchTrybots(opts.dry_run) | 400 _LaunchTrybots(opts.dry_run) |
| 387 return 0 | 401 return 0 |
| 388 | 402 |
| 389 | 403 |
| 390 if __name__ == '__main__': | 404 if __name__ == '__main__': |
| 391 sys.exit(main()) | 405 sys.exit(main()) |
| OLD | NEW |