#!/bin/sh
#
# $1 file containing the last git-describe output
# $2 the file in which to update the version string
#
# TODO: proper error handling

die()
{
    echo "$0: WARNING: version stamp update failed: $1."
    #exit 1 # not important enough to stop the build.
    exit 0
}

STAMP=`cat "$1" 2> /dev/null`
if [ -z "$STAMP" ]; then
    die "Missing STAMP: $1"
fi

CURRENT=`git describe --dirty 2>/dev/null`
if [ -z "$CURRENT" ]; then
    die "git describe failed: $(git describe --dirty)."
fi

if [ "$STAMP" != "$CURRENT" ]
then
    echo "git version changed: $STAMP -> $CURRENT"
    sed -e s/$STAMP/$CURRENT/g "$2" 1> "$2.new" || die
    mv "$2.new" "$2"
    echo -n "$CURRENT" > "$1"
fi

# vim: filetype=sh:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80