scripts/getver.sh: improve revision output
authorJonas Gorski <jonas.gorski@gmail.com>
Sat, 25 Jun 2016 12:23:30 +0000 (14:23 +0200)
committerJonas Gorski <jonas.gorski@gmail.com>
Sat, 9 Jul 2016 11:41:28 +0000 (13:41 +0200)
Change the revision output to r<upstream-revision>+<local commits> so
it is easier to get the base revision (and see if there are local
commits).

Example:
$ ./scripts/getver.sh
r794+3
$

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
scripts/getver.sh

index a60b91ede1390a5fdceccbf9d649460ccea93801..4c8fab079c14aa3f1669865f892b51468e642f78 100755 (executable)
@@ -23,9 +23,14 @@ try_git() {
                REV="$(git rev-parse HEAD~$((BASE_REV - GET_REV)))"
                ;;
        *)
                REV="$(git rev-parse HEAD~$((BASE_REV - GET_REV)))"
                ;;
        *)
-
+               UPSTREAM_BASE="$(git merge-base $GET_REV origin/master)"
+               UPSTREAM_REV="$(git rev-list reboot..$UPSTREAM_BASE --count)"
                REV="$(git rev-list reboot..$GET_REV --count)"
                REV="$(git rev-list reboot..$GET_REV --count)"
-               REV="${REV:+r$REV}"
+               if [ -n "$REV" -a -n "$UPSTREAM_REV" -a "$REV" -gt "$UPSTREAM_REV" ]; then
+                       REV="r${UPSTREAM_REV}+$((REV - UPSTREAM_REV))"
+               else
+                       REV="${REV:+r$REV}"
+               fi
                ;;
        esac
 
                ;;
        esac