cd48d19836
It has nothing to do with git configuration, but is one of our convenience scripts. It also has nothing to do with rebases (except that it can be comfortably used through git rebase --exec) Change-Id: Icc60c4de486a0027fe2230e93b441e62ba022193 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-on: https://review.coreboot.org/17101 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
47 lines
1.5 KiB
Bash
Executable file
47 lines
1.5 KiB
Bash
Executable file
#!/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 your remote branch:
|
|
BRANCH="cros/chromeos-2016.05"
|
|
|
|
# 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 -
|