diff options
Diffstat (limited to 'util')
-rwxr-xr-x | util/gitconfig/cborg2cros.py | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/util/gitconfig/cborg2cros.py b/util/gitconfig/cborg2cros.py deleted file mode 100755 index 133b00a398..0000000000 --- a/util/gitconfig/cborg2cros.py +++ /dev/null @@ -1,126 +0,0 @@ -#!/usr/bin/env python - -# This file is part of the coreboot project. -# -# Copyright (C) 2016 Google, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -import sys -import re -import subprocess - -# Regular expression patterns -pat_change_id = re.compile('^Change-Id: (.*)$') -pat_orig_lines = re.compile('^(Signed-off-by|Reviewed-on|Reviewed-by)') -pat_uninteresting = re.compile('^Tested-by') -pat_quotes = re.compile('"') -pat_leading_space = re.compile('^ ') -pat_bug_line = re.compile('^bug\s*=', re.IGNORECASE) -pat_branch_line = re.compile('branch\s*=', re.IGNORECASE) -pat_test_line = re.compile('test\s*=', re.IGNORECASE) - -def main(): - branch = "" - new_commit_message = "" - change_id = "" - commit_id = "" - bug_line = "BUG=None\n" - branch_line = "BRANCH=None\n" - test_line = "TEST=Build tested at coreboot.org\n" - - # Check command line arguments - if len(sys.argv) > 1: - if sys.argv[1] == "-h" or sys.argv[1] == "--help": - print "Update the commit message to submit to the Chrome OS tree." - print "Usage: " + sys.argv[1] + " [Remote branch]\n" - else: - branch = sys.argv[1] - else: - branch = "cborg/master" - - # Get the last commit message, then loop through looking at each line - commit_message = subprocess.check_output(["git", "log", "-n1"]).split("\n") - for line in commit_message: - - # Skip the initial few lines of the commit message - m = pat_leading_space.match(line) - if not m: - continue - - # Remove initial whitespace - line = line.lstrip(' ') - - # Add the 'UPSTREAM' comment to the subject line - if len(new_commit_message) == 0: - new_commit_message += "UPSTREAM: " + line + "\n" - continue - - # If we've found a TEST, BRANCH, or BUG line, mark it as found - if pat_test_line.match(line): - test_line = "" - if pat_bug_line.match(line): - bug_line = "" - if pat_branch_line.match(line): - branch_line = "" - - # Grab the Change-Id - chid = pat_change_id.match(line) - if chid: - change_id = chid.group(1) - - # Add 'Original-' to all of the coreboot.org gerrit messages - grrt = pat_orig_lines.match(line) - if grrt: - line = "Original-" + line - - # if we've reached the end of the real commit message text and we don't - # have the required TEST= BUG= and BRANCH= lines, add them. - if (chid or grrt) and (bug_line or branch_line or test_line): - new_commit_message += bug_line + branch_line + test_line + "\n" - bug_line = branch_line = test_line = "" - - # Remove uninteresting gerrit messages - if pat_uninteresting.match(line): - continue - - # Add the current line to the updated commit message - new_commit_message += line + "\n" - - # Error out if no Change-Id was located - if not change_id: - print "Error: No Change-Id found" - sys.exit(1) - - # Get the Commit ID based on the Change-Id and the branch. - # Error out if git returns an error - try: - commit_id = subprocess.check_output(["git", "log", "-n1", "--grep", change_id, '--pretty=%H', branch, "--"]).rstrip('\n') - except: - print "Error: invalid branch - " + branch + ".\n" - sys.exit(1) - - # To find the Commit-Id, we've looked through the git log for a particular Change-Id - # Error out if the Commit-Id wasn't found, with the message that we couldn't find the Change-Id - if not commit_id: - print "Error: Could not find Change-Id: " + change_id + " in branch " + branch + ".\n" - sys.exit(1) - - # Add the Commit-Id that this change came from to the new commit message. - new_commit_message += "(cherry-picked from commit " + commit_id + ")\n" - - # Update the commit message - amend_output = subprocess.check_output(["git", "commit", "-s", "--amend", "-m", new_commit_message ]) - - print "----------\n" - print amend_output - -if __name__ == "__main__": - main() |