util/gitconfig: remove cborg2cros.py
util/scripts/gerrit-rebase and cross-repo-cherrypick serve the same purpose and we don't need two of everything. Change-Id: I66a71033a8a29249d214db4c31a67f8a0725163c Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://review.coreboot.org/21926 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
parent
bf375e3943
commit
5b9a7f5217
|
@ -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()
|
Loading…
Reference in New Issue