build: add mkrevision.sh helper script which properly infers the revision from either svn, git-svn or git work copies

This commit is contained in:
Jo-Philipp Wich 2013-03-25 11:05:34 +00:00
parent fdf7d6618d
commit cf99c53a74

24
build/mkrevision.sh Executable file
View file

@ -0,0 +1,24 @@
#!/bin/sh
TOPDIR="${0%mkrevision.sh}"
[ -d "$TOPDIR/../build" ] || {
echo "Please execute as ./build/mkrevision.sh" >&2
exit 1
}
(
cd "$TOPDIR"
if svn info >/dev/null 2>/dev/null; then
revision="svn-r$(LC_ALL=C svn info | sed -ne 's/^Revision: //p')"
elif git log -1 >/dev/null 2>/dev/null; then
revision="svn-r$(LC_ALL=C git log -1 | sed -ne 's/.*git-svn-id: .*@\([0-9]\+\) .*/\1/p')"
if [ "$revision" = "svn-r" ]; then
revision="git-$(LC_ALL=C git log -1 --pretty=%h)"
fi
else
revision="unknown"
fi
echo "$revision"
)