Created by
Thibault NĂ©lis
last modified
| #!/usr/bin/env bash
set -o errexit
[[ $1 ]] || exit 1
ver=$1
pattern=$(<parse-ver-pattern)
if [[ $ver =~ $pattern ]]; then
number=${BASH_REMATCH[2]}
tag=${BASH_REMATCH[5]}
full=${BASH_REMATCH[1]}
commit=${BASH_REMATCH[7]}
echo "number: $number"
echo "tag: $tag"
echo "full: $full"
echo "commit: $commit"
else
echo Invalid
fi
|
| ^(([[:digit:]]+(\.[[:digit:]]+)*)(-((-|[[:alnum:]])+))*)-0-g([a-f0-9]+)$
|
| #!/usr/bin/env bash
versions=(
1.12.0.1-rc2-build42-0-gabcdef123456789
0.2.0-0-g83d7b2f-dirty
0.4.2-0-g0644e70
)
for v in ${versions[@]}; do
echo "== $v"
./parse-ver "$v"
echo
done
|