X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=scripts%2Fgetver.sh;h=6cf77975193e689ac5646a4d5dafa375f69d08bb;hp=c33505edc7174dfd0e6c4578f18dd3ff68caa714;hb=ee53a240ac902dc83209008a2671e7fdcf55957a;hpb=51996a78f1abc9a57feeb98bf4cad6e8faec05a3 diff --git a/scripts/getver.sh b/scripts/getver.sh index c33505edc7..6cf7797519 100755 --- a/scripts/getver.sh +++ b/scripts/getver.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash export LANG=C +export LC_ALL=C [ -n "$TOPDIR" ] && cd $TOPDIR try_version() { @@ -10,17 +11,24 @@ try_version() { try_svn() { [ -d .svn ] || return 1 - REV="$(svn info | awk '/^Revision:/ { print $2 }')" + REV="$(svn info | awk '/^Last Changed Rev:/ { print $4 }')" REV="${REV:+r$REV}" [ -n "$REV" ] } try_git() { - [ -d .git ] || return 1 - REV="$(git-log | grep -m 1 git-svn-id | awk '{ gsub(/.*@/, "", $2); print $2 }')" + git rev-parse --git-dir >/dev/null 2>&1 || return 1 + REV="$(git log | grep -m 1 git-svn-id | awk '{ gsub(/.*@/, "", $0); print $1 }')" REV="${REV:+r$REV}" [ -n "$REV" ] } -try_version || try_svn || try_git || REV="unknown" +try_hg() { + [ -d .hg ] || return 1 + REV="$(hg log -r-1 --template '{desc}' | awk '{print $2}' | sed 's/\].*//')" + REV="${REV:+$REV}" + [ -n "$REV" ] +} + +try_version || try_svn || try_git || try_hg || REV="unknown" echo "$REV"