blob: 4c15523825b3f41b39ba006c0f8f05800e7aed8b [file] [log] [blame] [edit]
#!/usr/bin/env python3
# Copyright (c) 2019, the R8 project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
import utils
import subprocess
def GitClone(url, checkout_dir):
cmd = ['git', 'clone', url, checkout_dir]
utils.PrintCmd(cmd)
return subprocess.check_call(cmd)
def GitCheckout(revision, checkout_dir):
with utils.ChangedWorkingDirectory(checkout_dir):
cmd = ['git', 'checkout', revision]
utils.PrintCmd(cmd)
return subprocess.check_call(cmd)
def GetHeadRevision(checkout_dir, use_main=False):
revision_from = 'origin/main' if use_main else 'HEAD'
cmd = ['git', 'rev-parse', revision_from]
utils.PrintCmd(cmd)
with utils.ChangedWorkingDirectory(checkout_dir):
return subprocess.check_output(cmd).strip().decode('utf-8')
def _reviewer_arg(reviewer):
if reviewer.find('@') == -1:
reviewer = reviewer + "@google.com"
return '--reviewer=' + reviewer
def GitClAppendReviewers(cmd, reviewer, send_mail):
if reviewer:
cmd.extend(map(_reviewer_arg, reviewer))
if send_mail:
cmd.append('--send-mail')