summaryrefslogtreecommitdiff
path: root/util/gitconfig/cborg2cros.py
diff options
context:
space:
mode:
Diffstat (limited to 'util/gitconfig/cborg2cros.py')
-rwxr-xr-xutil/gitconfig/cborg2cros.py126
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()