summaryrefslogtreecommitdiff
path: root/scripts/getversion.sh
diff options
context:
space:
mode:
authorBill Richardson <wfrichar@chromium.org>2014-10-30 17:41:51 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-10-31 20:55:24 +0000
commite1486c3234b7dc6fc5b58681b271a65a09141e20 (patch)
tree34b0d3f6344cf168605547772bec9d7d0b113e32 /scripts/getversion.sh
parentd274a2e9536907d0474d988f32f602cd64ed1ae6 (diff)
downloadvboot-e1486c3234b7dc6fc5b58681b271a65a09141e20.tar.gz
futility: add version command
BUG=none BRANCH=none TEST=manual make && ./build/futility/futility version Change-Id: I362b13d3befba62a33bc9fd2e87ad68f4bc62a84 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/226779 Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'scripts/getversion.sh')
-rwxr-xr-xscripts/getversion.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/getversion.sh b/scripts/getversion.sh
new file mode 100755
index 00000000..b6f2bd4c
--- /dev/null
+++ b/scripts/getversion.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Generate version information
+
+if ghash=$(git rev-parse --short --verify HEAD 2>/dev/null); then
+ if gdesc=$(git describe --dirty --match='v*' 2>/dev/null); then
+ IFS="-" fields=($gdesc)
+ tag="${fields[0]}"
+ IFS="." vernum=($tag)
+ numcommits=$((${vernum[2]}+${fields[1]:-0}))
+ ver_major="${vernum[0]}"
+ ver_branch="${vernum[1]}"
+ else
+ numcommits=$(git rev-list HEAD | wc -l)
+ ver_major="v0"
+ ver_branch="0"
+ fi
+ # avoid putting the -dirty attribute if only the timestamp
+ # changed
+ git status > /dev/null 2>&1
+
+ dirty=$(sh -c "[ '$(git diff-index --name-only HEAD)' ] \
+ && echo '-dirty'")
+ ver="${ver_major}.${ver_branch}.${numcommits}-${ghash}${dirty}"
+else
+ ver="unknown"
+fi
+
+date=$(date '+%F %T')
+
+echo "const char futility_version[] = \"${ver} ${date} ${USER}\";";