Skip to contentSkip to conversation

Change version.sh from last tag and hash to output last commit date and hash

PATCH New Mike Fedyk 1 participant 2 messages May 4, 2010 Btrfs file system

lore
Share & tools
lore

Mike Fedyk

author
#0 lore raw

PATCH v2 1/2 Change version.sh from last tag and hash to output last commit date and hash

The btrfs git repo doesn't have all of the tags from the base 2.6.32 kernel it's currently based upon and the btrfs module is regularly compiled against other kernels so this changes the version to be based upon the date and hash of the latest commit instead which is more relevant to most people testing.

An example version string with this change:
Btrfs 2010-04-06_09:37:47_-0400_9f680ce
---

 fs/btrfs/version.sh |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)
 mode change 100644 => 100755 fs/btrfs/version.sh
fs/btrfs/version.sh +1 -5
old mode 100644
new mode 100755
index 1ca1952..a4576f2
@@ -12,10 +12,7 @@ which git &> /dev/null
 if [ $? == 0 ]; then
     git branch >& /dev/null
     if [ $? == 0 ]; then
-	    if head=`git rev-parse --verify HEAD 2>/dev/null`; then
-		if tag=`git describe --tags 2>/dev/null`; then
-		    v="$tag"
-		fi
+		v="`git show --format='%ci_%h'|head -n 1|sed 's/[^a-z0-9_-:]/_/ig'`"
 
 		# Are there uncommitted changes?
 		git update-index --refresh --unmerged > /dev/null
@@ -24,7 +21,6 @@ if [ $? == 0 ]; then
 		    | read dummy; then
 		    v="$v"-dirty
 		fi
-	    fi
     fi
 fi
  
author
#1 lore raw

PATCH v2 2/2 Fix version.sh to work with dash

---

 fs/btrfs/version.sh |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)
fs/btrfs/version.sh +8 -8
index a4576f2..d87daf4 100755
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 #
 # determine-version -- report a useful version for releases
 #
@@ -8,10 +8,10 @@
  
 v="v0.16"
 
-which git &> /dev/null
-if [ $? == 0 ]; then
-    git branch >& /dev/null
-    if [ $? == 0 ]; then
+which git 2>&1 > /dev/null
+if [ $? -eq 0 ]; then
+    git branch 2>&1 > /dev/null
+    if [ $? -eq 0 ]; then
 		v="`git show --format='%ci_%h'|head -n 1|sed 's/[^a-z0-9_-:]/_/ig'`"
 
 		# Are there uncommitted changes?
@@ -19,7 +19,7 @@ if [ $? == 0 ]; then
 		if git diff-index --name-only HEAD | \
 		    grep -v "^scripts/package" \
 		    | read dummy; then
-		    v="$v"-dirty
+		    v="${v}-dirty"
 		fi
     fi
 fi
@@ -29,9 +29,9 @@ echo "#define __BUILD_VERSION" >> .build-version.h
 echo "#define BTRFS_BUILD_VERSION \"Btrfs $v\"" >> .build-version.h
 echo "#endif" >> .build-version.h
 
-diff -q version.h .build-version.h >& /dev/null
+diff -q version.h .build-version.h 2>&1 > /dev/null
 
-if [ $? == 0 ]; then
+if [ $? -eq 0 ]; then
     rm .build-version.h
     exit 0
 fi