scripts/getver.sh: prevent asking for negative rev-parse
authorChristian Marangi <ansuelsmth@gmail.com>
Sun, 12 Nov 2023 15:15:07 +0000 (16:15 +0100)
committerChristian Marangi <ansuelsmth@gmail.com>
Sun, 12 Nov 2023 15:19:04 +0000 (16:19 +0100)
With the case of asking an invalid version that is too big, getver.sh
might return an invalid output in the form of HEAD~-2260475641.

This is caused by BASE_REV - GET_REV using a negative number.

Prevent this by checking if BASE_REV - GET_REV actually return 0 or a
positive number and set REV variable accordingly. With the following
change, invalid revision number will result in unknown printed instead
of the invalid HEAD~-NUMBERS output.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
scripts/getver.sh

index 49260a22603fb0f3811203216870fb67794799da..61906040b18f974c3edd263e6ac14c22d3d5eda2 100755 (executable)
@@ -21,7 +21,7 @@ try_git() {
        r*)
                GET_REV="$(echo $GET_REV | tr -d 'r')"
                BASE_REV="$(git rev-list ${REBOOT}..HEAD 2>/dev/null | wc -l | awk '{print $1}')"
-               REV="$(git rev-parse HEAD~$((BASE_REV - GET_REV)))"
+               [ $((BASE_REV - GET_REV)) -ge 0 ] && REV="$(git rev-parse HEAD~$((BASE_REV - GET_REV)))"
                ;;
        *)
                BRANCH="$(git rev-parse --abbrev-ref HEAD)"