xref: /freebsd/contrib/unifdef/scripts/reversion.sh (revision fb3ef04d2028110f06d68b09009f1f2ca0f4128e)
1*fb3ef04dSDag-Erling Smørgrav#!/bin/sh
2*fb3ef04dSDag-Erling Smørgrav
3*fb3ef04dSDag-Erling Smørgravif [ ! -f version.sh ] && [ ! -d .git ]
4*fb3ef04dSDag-Erling Smørgravthen
5*fb3ef04dSDag-Erling Smørgrav	echo Your copy of unifdef is incomplete 1>&2
6*fb3ef04dSDag-Erling Smørgrav	exit 1
7*fb3ef04dSDag-Erling Smørgravfi
8*fb3ef04dSDag-Erling Smørgrav
9*fb3ef04dSDag-Erling Smørgrav[ -f version.sh ] && . ./version.sh
10*fb3ef04dSDag-Erling Smørgrav
11*fb3ef04dSDag-Erling Smørgravif [ -d .git ]
12*fb3ef04dSDag-Erling Smørgravthen
13*fb3ef04dSDag-Erling Smørgrav	GV=$(git describe | sed 's|-g*|.|g;s|[.]|-|')
14*fb3ef04dSDag-Erling Smørgrav	git update-index -q --refresh
15*fb3ef04dSDag-Erling Smørgrav	if git diff-index --quiet HEAD
16*fb3ef04dSDag-Erling Smørgrav	then
17*fb3ef04dSDag-Erling Smørgrav		GD="$(git show --pretty=format:%ai -s HEAD)"
18*fb3ef04dSDag-Erling Smørgrav	else
19*fb3ef04dSDag-Erling Smørgrav		GD="$(date +'%Y-%m-%d %H:%M:%S %z')"
20*fb3ef04dSDag-Erling Smørgrav		GV=$GV.XX
21*fb3ef04dSDag-Erling Smørgrav	fi
22*fb3ef04dSDag-Erling Smørgrav	[ unifdef -nt unifdef.c ] &&
23*fb3ef04dSDag-Erling Smørgrav	[ unifdef -nt unifdef.h ] &&
24*fb3ef04dSDag-Erling Smørgrav		GD="$D"
25*fb3ef04dSDag-Erling Smørgrav	if [ "$GV $GD" != "$V $D" ]
26*fb3ef04dSDag-Erling Smørgrav	then
27*fb3ef04dSDag-Erling Smørgrav		echo "version $V $D"   1>&2
28*fb3ef04dSDag-Erling Smørgrav		echo "     -> $GV $GD" 1>&2
29*fb3ef04dSDag-Erling Smørgrav		V="$GV"
30*fb3ef04dSDag-Erling Smørgrav		D="$GD"
31*fb3ef04dSDag-Erling Smørgrav		echo "V=\"$V\""  >version.sh
32*fb3ef04dSDag-Erling Smørgrav		echo "D=\"$D\"" >>version.sh
33*fb3ef04dSDag-Erling Smørgrav		rm -f version.h
34*fb3ef04dSDag-Erling Smørgrav	fi
35*fb3ef04dSDag-Erling Smørgravfi
36*fb3ef04dSDag-Erling Smørgrav
37*fb3ef04dSDag-Erling Smørgravif [ ! -f version.h ]
38*fb3ef04dSDag-Erling Smørgravthen
39*fb3ef04dSDag-Erling Smørgrav	printf '"@(#) $Version: %s $\\n"\n' "$V" >version.h
40*fb3ef04dSDag-Erling Smørgrav	printf '"@(#) $Date: %s $\\n"\n'   "$D" >>version.h
41*fb3ef04dSDag-Erling Smørgravfi
42