From cd6114d1a65cda09410e91ed4dc220df825a8ba2 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Thu, 18 Feb 2021 10:59:43 -0500 Subject: [PATCH] git-arc: Preserve the commit author when staging commits Reported by: jhb --- tools/tools/git/git-arc.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/tools/git/git-arc.sh b/tools/tools/git/git-arc.sh index 2de7e1858c00..07b042ceb151 100644 --- a/tools/tools/git/git-arc.sh +++ b/tools/tools/git/git-arc.sh @@ -452,7 +452,7 @@ gitarc::patch() gitarc::stage() { - local branch commit commits diff reviewers tmp + local author branch commit commits diff reviewers tmp branch=main while getopts b: o; do @@ -488,12 +488,13 @@ gitarc::stage() fi printf "Differential Revision:\thttps://reviews.freebsd.org/${diff}" >> $tmp fi + author=$(git show -s --format='%an <%ae>' ${commit}) if ! git cherry-pick --no-commit ${commit}; then warn "Failed to apply $(git rev-parse --short ${commit}). Are you staging patches in the wrong order?" git checkout -f break fi - git commit --edit --file $tmp + git commit --edit --file $tmp --author "${author}" done }