Files
django/scripts/backport.sh
2025-11-21 15:39:37 -03:00

36 lines
655 B
Bash
Executable File

#!/bin/bash
# Backport helper for Django stable branches.
set -xue
if [ -z $1 ]; then
echo "Full hash of commit to backport is required."
exit
fi
BRANCH_NAME=`git branch | sed -n '/\* stable\//s///p'`
echo $BRANCH_NAME
# Ensure clean working directory
git reset --hard
REV=$1
TMPFILE=tmplog.tmp
# Cherry-pick the commit
git cherry-pick ${REV}
# Create new log message by modifying the old one
git log --pretty=format:"[${BRANCH_NAME}] %s%n%n%b%nBackport of ${REV} from main." HEAD^..HEAD \
| grep -v '^BP$' > ${TMPFILE}
# Commit new log message
git commit --amend -F ${TMPFILE}
# Clean up temporary files
rm -f ${TMPFILE}
git show