diff --git a/bld/get-version b/bld/get-version index e472aab..1d7e7f0 100755 --- a/bld/get-version +++ b/bld/get-version @@ -9,7 +9,10 @@ # 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. # 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 @@ -28,7 +31,7 @@ else vers=`cat $1/VERSION | sed 's/[(), ]/,/ g' | tr ',' '\n' | grep ^v[0-9]` if [ $? -eq 0 ]; then - echo "${vers}" | sort -r | head -n 1 | sed 's/^v//' + echo "${vers}" | sort -k1.2,1.5r -k 1.6,1.6 -k1.8,1.9r -k1.10,1.11r | head -n 1 | sed 's/^v//' else cat $1/VERSION fi