aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJian Cai <jiancai@google.com>2019-12-03 15:09:30 -0800
committerCommit Bot <commit-bot@chromium.org>2019-12-07 12:46:16 +0000
commitf07dd6dab569af855200950c0370532254f38126 (patch)
tree211e3d5a6afd23cd8b50094f2ef6e9600bee893c
parentd14dcc474ac788a94984b941c31559cf8c29801e (diff)
downloadtoolchain-utils-f07dd6dab569af855200950c0370532254f38126.tar.gz
LLVM tools: sync python scripts
Sync python scripts from sys-devel/llvm/files/patch_manager that fixed broken LLVM roll builders. BUG=chromium:1027950 TEST=local builds. Change-Id: I0f1c7147e937d59dfe859d36aa8cfcfcbfd1fdb9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1949693 Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Jian Cai <jiancai@google.com> Tested-by: Jian Cai <jiancai@google.com>
-rwxr-xr-xllvm_tools/get_llvm_hash.py20
-rwxr-xr-xllvm_tools/git_llvm_rev.py6
-rwxr-xr-xllvm_tools/patch_manager.py16
3 files changed, 19 insertions, 23 deletions
diff --git a/llvm_tools/get_llvm_hash.py b/llvm_tools/get_llvm_hash.py
index 01acbfaf..b226ec93 100755
--- a/llvm_tools/get_llvm_hash.py
+++ b/llvm_tools/get_llvm_hash.py
@@ -39,10 +39,11 @@ def GetVersionFrom(src_dir, git_hash):
An SVN-style version number associated with the git hash.
"""
- args = ['--llvm_dir', src_dir, '--sha', git_hash]
- version = git_llvm_rev.main(args).strip()
- assert version.startswith('r')
- return int(version[1:])
+ version = git_llvm_rev.translate_sha_to_rev(
+ git_llvm_rev.LLVMConfig(remote='origin', dir=src_dir), git_hash)
+ # Note: branches aren't supported
+ assert version.branch == 'master', version.branch
+ return version.number
def GetGitHashFrom(src_dir, version):
@@ -59,12 +60,9 @@ def GetGitHashFrom(src_dir, version):
subprocess.CalledProcessError: Failed to find a git hash.
"""
- assert isinstance(version, int)
- args = ['--llvm_dir', src_dir, '--rev', 'r' + str(version)]
-
- git_hash = git_llvm_rev.main(args).rstrip()
-
- return git_hash
+ return git_llvm_rev.translate_rev_to_sha(
+ git_llvm_rev.LLVMConfig(remote='origin', dir=src_dir),
+ git_llvm_rev.Rev(branch='master', number=version))
@contextmanager
@@ -185,7 +183,7 @@ def GetGoogle3LLVMVersion(stable):
git_hash = check_output(cmd)
# Change type to an integer
- return GetVersionFrom(GetAndUpdateLLVMProjectInLLVMTools(), git_hash.strip())
+ return GetVersionFrom(GetAndUpdateLLVMProjectInLLVMTools(), git_hash)
def is_svn_option(svn_option):
diff --git a/llvm_tools/git_llvm_rev.py b/llvm_tools/git_llvm_rev.py
index 76a67d65..c8f8a89d 100755
--- a/llvm_tools/git_llvm_rev.py
+++ b/llvm_tools/git_llvm_rev.py
@@ -343,13 +343,11 @@ def main(argv: t.List[str]) -> None:
)
if opts.sha:
- rev = str(translate_sha_to_rev(config, opts.sha))
+ rev = translate_sha_to_rev(config, opts.sha)
print(rev)
- return rev
else:
- sha = str(translate_rev_to_sha(config, Rev.parse(opts.rev)))
+ sha = translate_rev_to_sha(config, Rev.parse(opts.rev))
print(sha)
- return sha
if __name__ == '__main__':
diff --git a/llvm_tools/patch_manager.py b/llvm_tools/patch_manager.py
index c51ba200..870988a1 100755
--- a/llvm_tools/patch_manager.py
+++ b/llvm_tools/patch_manager.py
@@ -8,18 +8,18 @@
from __future__ import print_function
+from collections import namedtuple
+from failure_modes import FailureModes
+from subprocess_helpers import check_call
+from subprocess_helpers import check_output
+
import argparse
import json
+import get_llvm_hash
import os
import subprocess
import sys
-from collections import namedtuple
-from failure_modes import FailureModes
-from get_llvm_hash import LLVMHash
-from subprocess_helpers import check_call
-from subprocess_helpers import check_output
-
def is_directory(dir_path):
"""Validates that the argument passed into 'argparse' is a directory."""
@@ -151,7 +151,7 @@ def GetHEADSVNVersion(src_path):
git_hash = check_output(cmd)
- version = GetVersionFrom(src_path, git_hash)
+ version = get_llvm_hash.GetVersionFrom(src_path, git_hash.rstrip())
return version
@@ -322,7 +322,7 @@ def PerformBisection(src_path, good_commit, bad_commit, svn_version,
check_output(end_cmd)
# `git bisect run` returns the bad commit hash and the commit message.
- version = GetVersionFrom(src_path, git_hash)
+ version = get_llvm_hash.GetVersionFrom(src_path, git_hash)
return version