From: Rafał Miłecki <ra...@milecki.pl>

Counting commits to determine revision number is a wrong idea when there
are branches in a project. This could generate the same revision for
different git commits, e.g.:

For master branch:
./scripts/getver.sh bb9d2aa868
r3438-bb9d2aa868

For lede-17.01 branch:
./scripts/getver.sh 2e206c79cc
r3438-2e206c79cc

Let's use git's sha1 instead and add amount of local commits on top of
this, e.g.:
./scripts/getver.sh
c00fbaf670+3

Signed-off-by: Rafał Miłecki <ra...@milecki.pl>
---
 scripts/getver.sh | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/scripts/getver.sh b/scripts/getver.sh
index 9175f411db..17b3dd64ae 100755
--- a/scripts/getver.sh
+++ b/scripts/getver.sh
@@ -27,20 +27,18 @@ try_git() {
                BRANCH="$(git rev-parse --abbrev-ref HEAD)"
                ORIGIN="$(git rev-parse --verify --symbolic-full-name 
${BRANCH}@{u} 2>/dev/null)"
                [ -n "$ORIGIN" ] || ORIGIN="$(git rev-parse --verify 
--symbolic-full-name master@{u} 2>/dev/null)"
-               REV="$(git rev-list ${REBOOT}..$GET_REV | wc -l | awk '{print 
$1}')"
 
                if [ -n "$ORIGIN" ]; then
                        UPSTREAM_BASE="$(git merge-base $GET_REV $ORIGIN)"
-                       UPSTREAM_REV="$(git rev-list ${REBOOT}..$UPSTREAM_BASE 
| wc -l | awk '{print $1}')"
+                       UPSTREAM_BASE_ABBR="$(git log -n 1 --format="%h" 
$UPSTREAM_BASE)"
+                       LOCAL_COMMITS="$(git rev-list 
${UPSTREAM_BASE}..$GET_REV | wc -l | awk '{print $1}')"
                else
-                       UPSTREAM_REV=0
+                       UPSTREAM_BASE_ABBR="unknown"
+                       LOCAL_COMMITS="$(git rev-list $GET_REV | wc -l | awk 
'{print $1}')"
                fi
+               [ $LOCAL_COMMITS -eq 0 ] && LOCAL_COMMITS=""
 
-               if [ "$REV" -gt "$UPSTREAM_REV" ]; then
-                       REV="${UPSTREAM_REV}+$((REV - UPSTREAM_REV))"
-               fi
-
-               REV="${REV:+r$REV-$(git log -n 1 --format="%h" $UPSTREAM_BASE)}"
+               REV="$UPSTREAM_BASE_ABBR${LOCAL_COMMITS:++$LOCAL_COMMITS}"
 
                ;;
        esac
-- 
2.11.0


_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to