diff options
author | Jian Cai <jiancai@google.com> | 2019-12-03 15:09:30 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-12-07 12:46:16 +0000 |
commit | f07dd6dab569af855200950c0370532254f38126 (patch) | |
tree | 211e3d5a6afd23cd8b50094f2ef6e9600bee893c | |
parent | d14dcc474ac788a94984b941c31559cf8c29801e (diff) | |
download | toolchain-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-x | llvm_tools/get_llvm_hash.py | 20 | ||||
-rwxr-xr-x | llvm_tools/git_llvm_rev.py | 6 | ||||
-rwxr-xr-x | llvm_tools/patch_manager.py | 16 |
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 |