Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
This commit is contained in:
59
scripts/getver.sh
Executable file
59
scripts/getver.sh
Executable file
@@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env bash
|
||||
export LANG=C
|
||||
export LC_ALL=C
|
||||
[ -n "$TOPDIR" ] && cd $TOPDIR
|
||||
|
||||
GET_REV=$1
|
||||
|
||||
try_version() {
|
||||
[ -f version ] || return 1
|
||||
REV="$(cat version)"
|
||||
[ -n "$REV" ]
|
||||
}
|
||||
|
||||
try_git() {
|
||||
REBOOT=ee53a240ac902dc83209008a2671e7fdcf55957a
|
||||
git rev-parse --git-dir >/dev/null 2>&1 || return 1
|
||||
|
||||
[ -n "$GET_REV" ] || GET_REV="HEAD"
|
||||
|
||||
case "$GET_REV" in
|
||||
r*)
|
||||
GET_REV="$(echo $GET_REV | tr -d 'r')"
|
||||
BASE_REV="$(git rev-list ${REBOOT}..HEAD 2>/dev/null | wc -l | awk '{print $1}')"
|
||||
[ $((BASE_REV - GET_REV)) -ge 0 ] && REV="$(git rev-parse HEAD~$((BASE_REV - GET_REV)))"
|
||||
;;
|
||||
*)
|
||||
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 main@{u} 2>/dev/null)"
|
||||
REV="$(git rev-list ${REBOOT}..$GET_REV 2>/dev/null | 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 2>/dev/null | wc -l | awk '{print $1}')"
|
||||
else
|
||||
UPSTREAM_REV=0
|
||||
fi
|
||||
|
||||
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)}"
|
||||
|
||||
;;
|
||||
esac
|
||||
|
||||
[ -n "$REV" ]
|
||||
}
|
||||
|
||||
try_hg() {
|
||||
[ -d .hg ] || return 1
|
||||
REV="$(hg log -r-1 --template '{desc}' | awk '{print $2}' | sed 's/\].*//')"
|
||||
REV="${REV:+r$REV}"
|
||||
[ -n "$REV" ]
|
||||
}
|
||||
|
||||
try_version || try_git || try_hg || REV="unknown"
|
||||
echo "$REV"
|
||||
Reference in New Issue
Block a user