-
Notifications
You must be signed in to change notification settings - Fork 11
/
tagRelease.bash
53 lines (41 loc) · 1.15 KB
/
tagRelease.bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
#
# Tags the current git HEAD as a new version, passed via a flag.
GITILES_REPO_URL="https://gerrit.avm99963.com/plugins/gitiles/translateselectedtext"
# Prints help text
function usage() {
cat <<END
Usage: $progname --version VERSION
required arguments:
-v, --version the version of the new release (in the form vx)
which wants to be tagged.
optional arguments:
-h, --help show this help message and exit
END
}
opts=$(getopt -l "help,version:" -o "hv:" -n "$progname" -- "$@")
eval set -- "$opts"
prevVersion=$(git describe --abbrev=0)
nextVersion="null"
while true; do
case "$1" in
-h | --help)
usage
exit
;;
-v | --version)
nextVersion="$2"
shift 2
;;
*) break ;;
esac
done
if [[ $nextVersion == "null" ]]; then
echo "version parameter value is incorrect." >&2
usage
exit
fi
commitMessage1="$nextVersion"
commitMessage2="Changelog: $GITILES_REPO_URL/+log/refs/tags/$prevVersion..refs/tags/$nextVersion"
git tag -s $nextVersion -m "$commitMessage1" -m "$commitMessage2"
echo "Tag created. Now run \`git push --tags\` to push the tags to the server."