version 1.1.1.3, 2016/11/02 09:57:01
|
version 1.1.1.5, 2023/09/27 11:02:07
|
Line 9
|
Line 9
|
# If we can find one which matches $v[0-9].* then we assume it's |
# If we can find one which matches $v[0-9].* then we assume it's |
# a version-number tag, else we just use the whole string. |
# a version-number tag, else we just use the whole string. |
# If there is more than one v[0-9].* tag, sort them and use the |
# If there is more than one v[0-9].* tag, sort them and use the |
# first. This favours, eg v2.63 over 2.63rc6. | # first. The insane arguments to the sort command are to ensure |
| # that, eg v2.64 comes before v2.63, but v2.63 comes before v2.63rc1 |
| # and v2.63rc1 comes before v2.63test1 |
|
|
|
|
|
# Change directory to the toplevel source directory. |
|
if test -z "$1" || ! test -d "$1" || ! cd "$1"; then |
|
echo "$0: First argument $1 must be toplevel dir." >&2 |
|
exit 1 |
|
fi |
|
|
if which git >/dev/null 2>&1 && \ |
if which git >/dev/null 2>&1 && \ |
([ -d $1/.git ] || grep '^gitdir:' $1/.git >/dev/null 2>&1); then | ([ -d .git ] || grep '^gitdir:' .git >/dev/null 2>&1) && \ |
cd $1; git describe | sed 's/^v//' | git describe >/dev/null 2>&1; then |
| git describe | sed 's/^v//' |
elif grep '\$Format:%d\$' $1/VERSION >/dev/null 2>&1; then |
elif grep '\$Format:%d\$' $1/VERSION >/dev/null 2>&1; then |
# unsubstituted VERSION, but no git available. | # unsubstituted VERSION, but no git available. |
echo UNKNOWN |
echo UNKNOWN |
else |
else |
vers=`cat $1/VERSION | sed 's/[(), ]/,/ g' | tr ',' '\n' | grep ^v[0-9]` |
vers=`cat $1/VERSION | sed 's/[(), ]/,/ g' | tr ',' '\n' | grep ^v[0-9]` |
|
|
if [ $? -eq 0 ]; then |
if [ $? -eq 0 ]; then |
echo "${vers}" | sort -r | head -n 1 | sed 's/^v//' | echo "${vers}" | sort -k1.2,1.5Vr -k1.6,1.6 -k1.8,1.9Vr -k1.10,1.11Vr | head -n 1 | sed 's/^v//' |
else |
else |
cat $1/VERSION |
cat $1/VERSION |
fi |
fi |