# Copyright 2008, Aron Griffis <agriffis@n01se.net>
# Copyright 2008, Oracle
# Released under the GNU GPLv2
-
-v="Btrfs v0.16"
-which hg > /dev/null
-if [ $? == 0 ]; then
- last=$(hg tags | grep -m1 -o '^v[0-9.]\+')
-
- # now check if the repo has commits since then...
- if [[ $(hg id -t) == $last || \
- $(hg di -r "$last:." | awk '/^diff/{print $NF}' | sort -u) == .hgtags ]]
- then
- # check if it's dirty
- if [[ $(hg id | cut -d' ' -f1) == *+ ]]; then
- v=$last+
- else
- v=$last
- fi
- else
- # includes dirty flag
- v=$last+$(hg id -i)
- fi
-fi
-
-echo "#ifndef __BUILD_VERSION" > .build-version.h
-echo "#define __BUILD_VERSION" >> .build-version.h
-echo "#define BTRFS_BUILD_VERSION \"Btrfs $v\"" >> .build-version.h
-echo "#endif" >> .build-version.h
+v="v4.6"
+
+opt=$1
-diff -q version.h .build-version.h >& /dev/null
+which git &> /dev/null
+if [ $? == 0 -a -d .git ]; then
+ if head=`git rev-parse --verify HEAD 2>/dev/null`; then
+ if tag=`git describe --tags 2>/dev/null`; then
+ v="$tag"
+ fi
-if [ $? == 0 ]; then
- rm .build-version.h
- exit 0
+ # Are there uncommitted changes?
+ git update-index --refresh --unmerged > /dev/null
+ if git diff-index --name-only HEAD | grep -v "^scripts/package" \
+ | read dummy; then
+ v="$v"-dirty
+ fi
+ fi
fi
-mv .build-version.h version.h
+if [ "$opt" = "--configure" ]; then
+ # Omit the trailing newline, so that m4_esyscmd can use the result directly.
+ echo -n "$v"
+else
+ echo "$v"
+fi
+
+exit 0
+