eris/packaging/push-new-version
Andrew Hamilton be29bf124a packaging: Change update-version to push-new-version
- It also pushes changes and the new tag.
- It was easy to forget to push the new tag.
2022-02-23 19:44:59 +10:00

27 lines
618 B
Bash
Executable file

#!/bin/bash
set -e
# Only run at the codebase root.
[ -e .git ]
# Don't run with uncommited or staged changes.
git diff --exit-code
git diff --cached --exit-code
NEW_VERSION=$(date "+v%Y.%m.%d")
CURRENT_VERSION=$(git describe --tags --abbrev=0)
if [ $NEW_VERSION == $CURRENT_VERSION ]; then
git tag --delete $CURRENT_VERSION
git push --delete origin $CURRENT_VERSION
else
git grep -l $CURRENT_VERSION | xargs sed -i "s/$CURRENT_VERSION/$NEW_VERSION/g"
git diff
git commit --all --message="Update version to $NEW_VERSION"
fi
git tag $NEW_VERSION
git log --max-count=1
git push
git push --tags