mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Add shell script to easily back-port commits in git-svn from trunk to other branches.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17856 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
ec886fd223
commit
efc19c85eb
30
util/git-backport.sh
Executable file
30
util/git-backport.sh
Executable file
@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
REV=$1
|
||||
: ${ORIGBRANCH=trunk}
|
||||
: ${WHOAMI=`whoami`}
|
||||
|
||||
TMPFILE=tmplog.tmp
|
||||
#TMPFILE2=tmplog2.tmp
|
||||
|
||||
# Cherry-pick the other commit
|
||||
ORIGID=`git svn find-rev r${REV} ${ORIGBRANCH}`
|
||||
if [ -z "${ORIGID}" ] ; then
|
||||
echo "Revision ${REV} not found in branch ${ORIGBRANCH}"
|
||||
exit 1
|
||||
fi
|
||||
git cherry-pick ${ORIGID}
|
||||
|
||||
# Create new log message by modifying the old one
|
||||
git log --pretty=format:"[$REV] %s%n%n%b" HEAD^..HEAD \
|
||||
| grep -v '^BP$' | grep -v 'git-svn-id:' > ${TMPFILE}
|
||||
OTHERAUTHOR=`git log --pretty=format:"%an" HEAD^..HEAD`
|
||||
if [ "${WHOAMI}" != "${OTHERAUTHOR}" ]; then
|
||||
echo -e "\nOriginal commit by ${OTHERAUTHOR}." >> ${TMPFILE}
|
||||
fi
|
||||
|
||||
# Commit new log message
|
||||
git commit --amend -F ${TMPFILE}
|
||||
|
||||
# Clean up temporary files
|
||||
rm -f ${TMPFILE}
|
Loading…
Reference in New Issue
Block a user