diff --git a/cros_mark_as_stable.py b/cros_mark_as_stable.py index 4cf93cbe47..83f878260f 100755 --- a/cros_mark_as_stable.py +++ b/cros_mark_as_stable.py @@ -110,6 +110,9 @@ def _PrintUsageAndDie(error_message=''): else: sys.exit(1) +def _BranchExists(name): + """Returns True is the branch exists""" + return _RunCommand('git branch').split().count(name) != 0 def _PushChange(): """Pushes changes to the git repository. @@ -135,6 +138,10 @@ def _PushChange(): description = 'Marking set of ebuilds as stable\n\n%s' % description merge_branch_name = 'merge_branch' _RunCommand('git remote update') + merge_branch = _GitBranch(merge_branch_name) + merge_branch.CreateBranch() + if not merge_branch.Exists(): + generate_test_report.Die('Unable to create merge branch.') _RunCommand('git checkout -b %s %s' % ( merge_branch_name, gflags.FLAGS.tracking_branch)) _RunCommand('git merge --squash %s' % _STABLE_BRANCH_NAME)