From 920d2d09e2ac55584e145f2db3c63cb290105c24 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sat, 23 Dec 2017 12:03:19 +0100 Subject: [PATCH] add a script to rewrite the commit author to reflect whats in Signed-off-by Signed-off-by: Jo-Philipp Wich --- sob2from.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 sob2from.sh diff --git a/sob2from.sh b/sob2from.sh new file mode 100755 index 0000000..6606344 --- /dev/null +++ b/sob2from.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +git filter-branch -f --tag-name-filter cat --commit-filter ' + + eval $(git show --format=%B "$GIT_COMMIT" | sed -ne "s|Signed-off-by: \(.*\) <\(.*\)>$|SOB_AUTHOR='"'"'\\1'"'"'; SOB_EMAIL='"'"'\\2'"'"'|p" | head -n1) + + if [ -n "$SOB_AUTHOR" -a -n "$SOB_EMAIL" -a "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>" != "$SOB_AUTHOR <$SOB_EMAIL>" ]; then + echo -e "\nRewrite $GIT_COMMIT: $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> => $SOB_AUTHOR <$SOB_EMAIL>" >&2 + export GIT_AUTHOR_NAME="$SOB_AUTHOR" + export GIT_AUTHOR_EMAIL="$SOB_EMAIL" + fi + + git commit-tree "$@" + +' -- "${1:-HEAD~1..HEAD}" + +git for-each-ref --format="%(refname)" refs/original/ | xargs -r -n 1 git update-ref -d -- 2.30.2