You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hetzner-ansible/templates/create-branch-maven.j2

40 lines
1.4 KiB
Django/Jinja

#!/bin/bash
if [ -n "$(git diff-index HEAD)" ];
then
echo "branch creation isn't allowed with working tree changes"
else
BRANCH_CURRENT=$(git rev-parse --abbrev-ref HEAD)
git fetch -q
COMMIT_ID_BRANCH_CURRENT=$(git rev-parse $BRANCH_CURRENT)
COMMIT_ID_REMOTE_BRANCH_CURRENT=$(git rev-parse origin/$BRANCH_CURRENT)
if [ "$COMMIT_ID_BRANCH_CURRENT" != "$COMMIT_ID_REMOTE_BRANCH_CURRENT" ];
then
echo "branch creation isn't allowed with changes between $BRANCH_CURRENT and origin/$BRANCH_CURRENT"
else
TYPE={{ branch_type }}
TICKET={{ branch_ticket }}
BRANCH_NEXT=$TYPE/$TICKET
VERSION_LAST=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
VERSION=$(echo $VERSION_LAST | cut -d '-' -f 1)
VERSION_MAJOR=$(echo $VERSION_LAST | cut -d'.' -f 1)
VERSION_MINOR=$(echo $VERSION_LAST | cut -d'.' -f 2)
VERSION_BUGFIX=$(echo $VERSION_LAST | cut -d'.' -f 3)
VERSION_NEXT="${VERSION}-${TICKET}-1-SNAPSHOT"
git checkout -b $BRANCH_NEXT
./mvnw versions:set -DnewVersion=$VERSION_NEXT -DgenerateBackupPoms=false
git commit -n -am "created branch ${BRANCH_NEXT}"
git checkout ${BRANCH_CURRENT}
git merge -s ours -m "merge branch ${BRANCH_NEXT} into ${BRANCH_CURRENT} [skip ci]" $BRANCH_NEXT
git checkout $BRANCH_NEXT
git push -u origin $BRANCH_NEXT
git push origin $BRANCH_CURRENT
fi
fi