Skip to content

Commit c2efbc8

Browse files
authored
Merge pull request #687 from spacewander/add_semver
git-release: handle extra non-numeric prefix in tag with --semver
2 parents 17fce79 + ab99fb3 commit c2efbc8

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

bin/git-release

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,15 @@ if test $# -gt 0; then
5252
latest_tag=$(git describe --tags "$(git rev-list --tags --max-count=1)")
5353

5454
if [[ ! "$latest_tag" =~ \
55-
([0-9]|[1-9][0-9]+)\.([0-9]|[1-9][0-9]+)\.([0-9]|[1-9][0-9]+)(.*) ]]; then
55+
^([^0-9]*)([0-9]|[1-9][0-9]+)\.([0-9]|[1-9][0-9]+)\.([0-9]|[1-9][0-9]+)(.*) ]]; then
5656
echo "the latest tag doesn't match semver format requirement" 1>&2
5757
exit 1
5858
fi
5959

6060
case "$semver" in
61-
major ) version="${BASH_REMATCH[1]}" ;;
62-
minor ) version="${BASH_REMATCH[2]}" ;;
63-
patch ) version="${BASH_REMATCH[3]}" ;;
61+
major ) version="${BASH_REMATCH[2]}" ;;
62+
minor ) version="${BASH_REMATCH[3]}" ;;
63+
patch ) version="${BASH_REMATCH[4]}" ;;
6464
* ) echo "invalid semver argument given: $semver" 1>&2
6565
exit 1
6666
;;
@@ -69,9 +69,9 @@ if test $# -gt 0; then
6969
(( ++version ))
7070

7171
case "$semver" in
72-
major ) version="$version.${BASH_REMATCH[2]}.${BASH_REMATCH[3]}${BASH_REMATCH[4]}" ;;
73-
minor ) version="${BASH_REMATCH[1]}.$version.${BASH_REMATCH[3]}${BASH_REMATCH[4]}" ;;
74-
patch ) version="${BASH_REMATCH[1]}.${BASH_REMATCH[2]}.$version${BASH_REMATCH[4]}" ;;
72+
major ) version="${BASH_REMATCH[1]}$version.${BASH_REMATCH[3]}.${BASH_REMATCH[4]}${BASH_REMATCH[5]}" ;;
73+
minor ) version="${BASH_REMATCH[1]}${BASH_REMATCH[2]}.$version.${BASH_REMATCH[4]}${BASH_REMATCH[5]}" ;;
74+
patch ) version="${BASH_REMATCH[1]}${BASH_REMATCH[2]}.${BASH_REMATCH[3]}.$version${BASH_REMATCH[5]}" ;;
7575
esac
7676
fi
7777

0 commit comments

Comments
 (0)