[coreboot-gerrit] Patch set updated for coreboot: 98d02da git: add rebase helper script

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Sun Apr 5 19:52:57 CEST 2015


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9299

-gerrit

commit 98d02daf607780ce06c28ee8bcd78bc49f1ff567
Author: Patrick Georgi <pgeorgi at google.com>
Date:   Fri Apr 3 17:06:48 2015 -0700

    git: add rebase helper script
    
    This is a script we have been using to rewrite commit messages when
    upstreaming coreboot patches from the ChromiumOS tree into coreboot
    upstream.
    
    Change-Id: I5442279c099dafe55cc97ccf09ee2bc2df4eca5f
    Signed-off-by: Stefan Reinauer <stefan.reinauer at coreboot.org>
    Signed-off-by: Patrick Georgi <patrick at georgi-clan.de>
---
 util/gitconfig/rebase.sh | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/util/gitconfig/rebase.sh b/util/gitconfig/rebase.sh
new file mode 100755
index 0000000..0229308
--- /dev/null
+++ b/util/gitconfig/rebase.sh
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# rebase.sh - rebase helper script
+#
+# 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.
+#
+
+# Adapt to youre remote branch:
+BRANCH="cros/chromeos-2013.04"
+
+# When pulling in patches from another tree from a gerrit repository,
+# do the following at the end of a larger cherry-pick series:
+#  git remote add ...
+#  git checkout -b upstreaming
+#  git cherry-pick ...
+#  git rebase -i --exec util/gitconfig/rebase.sh master
+# Alternatively, you can run util/gitconfig/rebase.sh after every
+# individual cherry-pick.
+
+commit_message() {
+	git log -n 1 | grep "^    " | cut -c5-
+}
+
+CHID=$( commit_message | grep -i "^Change-Id: I" )
+CID=$( git log -n1 --grep "^$CHID$" --pretty=%H $BRANCH )
+GUID="$(git config user.name) <$(git config user.email)>"
+
+# TBD: Don't add Original- to empty lines, and possibly make script more
+# solid for commits with an unexpected order of meta data lines.
+
+commit_message | tac | awk '/^$/ {
+		if (end==0)
+			print "Original-Commit-Id: '"$CID"'\nSigned-off-by: '"$GUID"'";
+		end=1
+	}; {
+		if (end==0)
+			print "Original-" $0;
+		else
+			print $0;
+	}' | tac | git commit --amend -F -



More information about the coreboot-gerrit mailing list