25 lines
594 B
Bash
Executable file
25 lines
594 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
|
|
fi
|
|
git grep --no-color -l $CURRENT_VERSION | xargs sed -i "s/$CURRENT_VERSION/$NEW_VERSION/g"
|
|
git commit --all --message="Update version to $NEW_VERSION"
|
|
git tag $NEW_VERSION
|
|
git push
|
|
git push --tags
|
|
echo "Done."
|