From 1b76ca121ed820495b3ae238e06df0728b42ece9 Mon Sep 17 00:00:00 2001 From: Henrik Kjellander Date: Tue, 9 Jun 2015 12:58:44 +0200 Subject: [PATCH] Auto-roll script: Add dirty tree check and git pull BUG=4688 R=pbos@webrtc.org Review URL: https://codereview.webrtc.org/1173523003 Cr-Commit-Position: refs/heads/master@{#9399} --- tools/autoroller/roll_chromium_revision.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tools/autoroller/roll_chromium_revision.py b/tools/autoroller/roll_chromium_revision.py index 57937ed82e..981f1aef79 100755 --- a/tools/autoroller/roll_chromium_revision.py +++ b/tools/autoroller/roll_chromium_revision.py @@ -289,6 +289,13 @@ def UpdateDeps(deps_filename, old_cr_revision, new_cr_revision): with open(deps_filename, 'wb') as deps_file: deps_file.write(deps_content) +def _IsTreeClean(): + stdout, _ = _RunCommand(['git', 'status', '--porcelain']) + if len(stdout) == 0: + return True + + logging.error('Dirty/unversioned files:\n%s', stdout) + return False def _CreateRollBranch(dry_run): current_branch = _RunCommand( @@ -298,6 +305,9 @@ def _CreateRollBranch(dry_run): if not dry_run: sys.exit(-1) + logging.info('Updating master branch...') + if not dry_run: + _RunCommand(['git', 'pull']) logging.info('Creating roll branch: %s', ROLL_BRANCH_NAME) if not dry_run: _RunCommand(['git', 'checkout', '-b', ROLL_BRANCH_NAME]) @@ -353,6 +363,10 @@ def main(): else: logging.basicConfig(level=logging.INFO) + if not _IsTreeClean(): + logging.error('Please clean your local checkout first.') + return 1 + if opts.clean: _RemovePreviousRollBranch(opts.dry_run)