iverilog/scripts/CREATE_BRANCH.sh

55 lines
1.5 KiB
Bash

#!/bin/sh
# This script creates a new release branch using the major version number
# that is passed as the only argument,
#
# 1. It creates a new branch with the proper name.
#
# 2. It then updates the version_base.h to match this version. It likely
# already does, but it is incorrectly marked as devel instead of stable.
#
# 3. It updates the default suffix in aclocal.m4 to match the branch.
#
# Now manually push the new branch to the master repository.
#
# git push -u origin v13-branch
#
# After this update the master branch to the next version and update
# vvp/examples/hello.vvp to match the new version.
#
if [ $# -ne 1 ] ; then
echo "Usage: CREATE_BRANCH.sh <major-number>"
exit 1;
fi
case $1 in
*[!0-9]*) echo "Major number must be numeric"; exit 1;;
esac
major=$1
branch="v${major}-branch"
branch_exists=`git ls-remote --heads origin $branch`
if [ -n "$branch_exists" ] ; then
echo "The branch $branch already exists. Aborting"
exit 1
fi
echo "Creating branch $branch"
git checkout -b $branch
echo "Updating version_base.h..."
sed -i -E "s/(define\s+VERSION_MAJOR\s+).*/\1$major/" version_base.h
sed -i -E "s/(define\s+VERSION_MINOR\s+).*/\10/" version_base.h
sed -i -E "s/(define\s+VERSION_EXTRA\s+).*/\1\" \(stable\)\"/" version_base.h
echo "Updating aclocal.m4..."
sed -i -E "s/(install_suffix='-)dev/\1$major/" aclocal.m4
echo "Adding updated files to the new branch..."
git add version_base.h aclocal.m4
git commit -m "Creating new branch $branch"
echo "Done"