[PATCH] perf tool: fix the perf --version bug

From: Runzhen Wang
Date: Tue Apr 16 2013 - 01:10:33 EST


From 4d629cfb265beece1aae2e3fdf603e36a321f785 Mon Sep 17 00:00:00 2001
From: Runzhen Wang <runzhen@xxxxxxxxxxxxxxxxxx>
Date: Mon, 15 Apr 2013 23:17:15 -0400
Subject: [PATCH] perf tool: fix the perf --version bug

The perf --version can't print the right version
information when reset it to an earlier commit.

For example, at present the version is:
# ./perf --version
perf version 3.9.rc6.gf8378f

then, I reset it to an earlier version, say v3.8-rc7
# git reset --hard v3.8-rc7
# make

However, the ./perf --version prints a wrong result:
# ./perf --version
perf version 3.9.rc6.g836dc9

Using 'git describe' instead of 'git tag' can fix this problem.

Signed-off-by: Runzhen Wang <runzhen@xxxxxxxxxxxxxxxxxx>
---
tools/perf/util/PERF-VERSION-GEN | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/tools/perf/util/PERF-VERSION-GEN b/tools/perf/util/PERF-VERSION-GEN
index 055fef3..ec3dd86 100755
--- a/tools/perf/util/PERF-VERSION-GEN
+++ b/tools/perf/util/PERF-VERSION-GEN
@@ -14,9 +14,8 @@ LF='
# otherwise try to get the version from the kernel Makefile
#
if test -d ../../.git -o -f ../../.git &&
- VN=$(git tag 2>/dev/null | tail -1 | grep -E "v[0-9].[0-9]*")
+ VN=$(git describe --match 'v[0-9].[0-9]*' --abbrev=4 HEAD 2>/dev/null)
then
- VN=$(echo $VN"-g"$(git log -1 --abbrev=4 --pretty=format:"%h" HEAD))
VN=$(echo "$VN" | sed -e 's/-/./g');
else
VN=$(MAKEFLAGS= make -sC ../.. kernelversion)
--
1.7.10.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/