Snippets

osimis Version Parser

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

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.