]>
Git — Sourcephile - ocaml/libocaml_make.git/blob - version
2 set -e -f -u ${TRACE:+-x}
3 OCAMLPATH
=${OCAMLPATH:-src}
4 name
=$
{name
:-$(find $(printf %s "$OCAMLPATH" | tr : ' ') \
5 -type f
-name "META.*" -printf %f
-quit | \
6 sed -e '1s/^META\.//;q')}
7 version
=$(OCAMLPATH="$OCAMLPATH" ocamlfind query -format '%(version)' "$name")
9 if [ ! ${version_no_git:+set} ] && which git >/dev/null
11 version_pattern=$(printf %s "$version" | sed -e 's/\./\\./g')
12 tags=$(git tag --points-at HEAD |
13 sed -e "/^v$version_pattern/d;s/^/+/" |
16 then version="$version$tags"
17 elif [ -z "$(git tag --points-at HEAD --list "v$version_pattern")" ]
18 then version="$version+git$(git log -1 --pretty='%h')"
20 if [ ! ${version_no_date:+set} ] && ! git diff --quiet
21 then diff="+date$(date +%s)"
23 elif [ ${version_date:+set} ]
24 then diff="+date$(date +%s)"
26 printf '%s
%s
\n' "$version" "$diff"