]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
updated branchsync to deal with merge commits
authorEvan Hunt <each@isc.org>
Sat, 10 Mar 2018 21:29:32 +0000 (13:29 -0800)
committerEvan Hunt <each@isc.org>
Wed, 14 Mar 2018 21:40:13 +0000 (14:40 -0700)
util/branchsync.sh

index bef142b64ab154615a0a02a66732815672b77898..aa2baf7ac317b956d75bdfe7bafc1eefc9cab956 100644 (file)
@@ -119,10 +119,14 @@ if [ -z "$continuing" ]; then
 fi
 
 # loop through commits looking for ones that should be cherry-picked
-git log $SOURCEBRANCH --reverse --format='%H %aN' $LASTHASH..$SOURCEBRANCH | \
+git log $SOURCEBRANCH --first-parent --reverse --format='%H %aN' $LASTHASH..$SOURCEBRANCH | \
   awk '$0 !~ /Tinderbox/ {print $1}' | {
     while read hash; do
-        if git cherry-pick -xn ${hash}; then
+        mainline=
+        if [ `git cat-file -p ${hash} | grep '^parent [0-9a-f][0-9a-f]*$' | wc -l` -gt 1 ]; then
+            mainline="-m 1 "
+        fi
+        if git cherry-pick ${mainline} -xn ${hash}; then
             # cherry-pick was clean
             # restore the files that we don't want updated automatically
             restore_files