#!/bin/bash

usage() {
	echo "$0 [ prefix ]"
	echo -e "\t Optionally specify a prefix other than 'skiboot'"
	echo
}

if [ "$1" = "-h" -o "$1" = "--help" ] ;
then
	usage
	exit 1;
fi

if test -e .git || git rev-parse --is-inside-work-tree > /dev/null 2>&1;
then
	version=`git describe --exact-match 2>/dev/null`
	if [ -z "$version" ];
	then
		version=`git describe 2>/dev/null`
	fi
	if [ -z "$version" ];
	then
		version=`git rev-parse --verify --short HEAD 2>/dev/null`
	fi
	if [ ! -z "$EXTRA_VERSION" ];
	then
		version="$version-$EXTRA_VERSION"
	fi
	if git diff-index --name-only HEAD |grep -qv '.git';
	then
		if [ ! -z "$USER" ];
		then
			version="$version-$USER"
		fi
		version="$version-dirty"
		diffsha=`git diff|sha1sum`
		diffsha=`cut -c-7 <<< "$diffsha"`
		version="$version-$diffsha"
	fi

	if [ $# -eq 1 ];
	then
		version=`echo $version | sed s/skiboot/$1/`
	fi

	echo $version
else
	if [ ! -z "$SKIBOOT_VERSION" ];
	then
		echo $SKIBOOT_VERSION
	else
		if [ ! -z "`cat .version`" ];
		then
			cat .version
		else
			exit 1;
		fi
	fi
fi
