~strahinja/ste

8c0669c71afc84fe8079766702ab45701081b8ed — Страхиња Радић 6 months ago 10bd0bb v0.7.3
lib/make{date,version}: Make version use last commit if ahead of tag
2 files changed, 27 insertions(+), 8 deletions(-)

M lib/makedate
M lib/makeversion
M lib/makedate => lib/makedate +2 -2
@@ 5,11 5,11 @@ LC_ALL=C
export LC_ALL

if [ -d .got ] && command -v got >/dev/null 2>&1; then
	got tag -l |
	got log |
	awk '
	/^date: / {
		sub(/^date: /,"",$0)
		print strftime("%B %d, %Y")
		print $2 " " $3 ", " $5
		exit
	}' >date.new
elif [ -d .git ] && command -v git >/dev/null 2>&1; then

M lib/makeversion => lib/makeversion +25 -6
@@ 3,13 3,32 @@
FALLBACKVER=${FALLBACKVER:-unknown}

if [ -d .got ] && command -v got >/dev/null 2>&1; then
	lastcommit=$(got log |
		awk '/^commit/ {print substr($2,1,9); exit}')
	got tag -l |
	awk '
	/^tag/ {
		sub(/^v/,"",$2)
		print $2
		exit
	}' >version.new
		awk -v lastcommit="$lastcommit" '
		/^object: commit/ {
			if (!lasttagcom)
			{
				lasttagcom = substr($3,1,9)
			}
			next
		}
		/^tag/ {
			if (!ver)
			{
				sub(/^v/,"",$2)
				ver = $2
			}
			next
		}
		END {
			printf "%s", ver
			if (lastcommit != lasttagcom)
			{
				printf "-g%s", lastcommit
			}
		}' >version.new
elif [ -d .git ] && command -v git >/dev/null 2>&1; then
	LC_ALL=C
	export LC_ALL