Btrfs-progs: make send/receive compatible with older kernels
[platform/upstream/btrfs-progs.git] / version.sh
1 #!/bin/bash
2 #
3 # determine-version -- report a useful version for releases
4 #
5 # Copyright 2008, Aron Griffis <agriffis@n01se.net>
6 # Copyright 2008, Oracle
7 # Released under the GNU GPLv2
8  
9 v="v3.12"
10
11 which git &> /dev/null
12 if [ $? == 0 -a -d .git ]; then
13     if head=`git rev-parse --verify HEAD 2>/dev/null`; then
14         if tag=`git describe --tags 2>/dev/null`; then
15             v="$tag"
16         fi
17
18         # Are there uncommitted changes?
19         git update-index --refresh --unmerged > /dev/null
20         if git diff-index --name-only HEAD | grep -v "^scripts/package" \
21             | read dummy; then
22             v="$v"-dirty
23         fi
24     fi
25 fi
26
27 echo "#ifndef __BUILD_VERSION" > .build-version.h
28 echo "#define __BUILD_VERSION" >> .build-version.h
29 echo "#define BTRFS_BUILD_VERSION \"Btrfs $v\"" >> .build-version.h
30 echo "#endif" >> .build-version.h
31
32 diff -q version.h .build-version.h >& /dev/null
33
34 if [ $? == 0 ]; then
35     rm .build-version.h
36     exit 0
37 fi
38
39 mv .build-version.h version.h