#!/bin/sh set -e -f -u ${TRACE:+-x} OCAMLPATH=${OCAMLPATH:-src} name=${name:-$(find $(printf %s "$OCAMLPATH" | tr : ' ') \ -type f -name "META.*" -printf %f -quit | \ sed -e '1s/^META\.//;q')} version=$(OCAMLPATH="$OCAMLPATH" ocamlfind query -format '%(version)' "$name") diff="" if [ ! ${version_no_git:+set} ] && which git >/dev/null then version_pattern=$(printf %s "$version" | sed -e 's/\./\\./g') tags=$(git tag --points-at HEAD | sed -e "/^v$version_pattern/d;s/^/+/" | tr -d '\n') if [ -n "$tags" ] then version="$version$tags" elif [ -z "$(git tag --points-at HEAD --list "v$version_pattern")" ] then version="$version+git$(git log -1 --pretty='%h')" fi if [ ! ${version_no_date:+set} ] && ! git diff --quiet then diff="+date$(date +%s)" fi; elif [ ${version_date:+set} ] then diff="+date$(date +%s)" fi printf '%s%s\n' "$version" "$diff"