From 75cb85e0cfa66480492b80ada19bd5a02ea12305 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 29 May 2015 18:31:08 +0200 Subject: Add git helper scripts --- merge.sh | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 merge.sh (limited to 'merge.sh') diff --git a/merge.sh b/merge.sh new file mode 100755 index 0000000..50ed00a --- /dev/null +++ b/merge.sh @@ -0,0 +1,40 @@ +#! /bin/sh + +. etc/git/modules + +wd=`pwd` + +if [ "$1" = "" ]; then + echo "source branch name expected" 1>&2 + exit 1 +fi + +for i in $modules; do + echo "merge $i" 1>&2 + cd $i + + br=`git symbolic-ref -q HEAD` + br=`echo $br | sed -e 's%^refs/heads/%%'` + + # Only allow fast-forward merges into master. + # + if [ "$br" = "master" ]; then + git merge --ff-only $* + else + git merge $* + fi + + if [ $? -ne 0 ]; then + echo 1>&2 + echo "merge FAILED" 1>&2 + echo 1>&2 + + # Merge failures (conflicts) into non-master branches are ok. + # + if [ "$br" = "master" ]; then + exit 1 + fi + fi + + cd $wd +done -- cgit v1.1