X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=version.sh;h=8d084c2df3bc4a92fa72f959ce2030d051946d54;hb=e2cc3311246376e902f0defc6c57bd554babcf39;hp=51bca4f21ae4c072250a3e44fb67439d09ff823d;hpb=01a73d6cef70dfa90fdf79f7afd55b817b4c9342;p=ffmpeg diff --git a/version.sh b/version.sh index 51bca4f21ae..8d084c2df3b 100755 --- a/version.sh +++ b/version.sh @@ -3,11 +3,30 @@ # check for git short hash if ! test "$revision"; then revision=$(cd "$1" && git describe --tags --match N 2> /dev/null) - test "$revision" && revision=git-$revision +fi + +# Shallow Git clones (--depth) do not have the N tag: +# use 'git-YYYY-MM-DD-hhhhhhh'. +test "$revision" || revision=$(cd "$1" && + git log -1 --pretty=format:"git-%cd-%h" --date=short 2> /dev/null) + +# Snapshots from gitweb are in a directory called ffmpeg-hhhhhhh or +# ffmpeg-HEAD-hhhhhhh. +if [ -z "$revision" ]; then + srcdir=$(cd "$1" && pwd) + case "$srcdir" in + */ffmpeg-[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]) + git_hash="${srcdir##*-}";; + */ffmpeg-HEAD-[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]) + git_hash="${srcdir##*-}";; + esac fi # no revision number found -test "$revision" || revision=UNKNOWN +test "$revision" || revision=$(cd "$1" && cat RELEASE 2> /dev/null) + +# Append the Git hash if we have one +test "$revision" && test "$git_hash" && revision="$revision-$git_hash" # releases extract the version number from the VERSION file version=$(cd "$1" && cat VERSION 2> /dev/null)