projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 't/unix_path_max_fix'
[paraslash.git]
/
GIT-VERSION-GEN
diff --git
a/GIT-VERSION-GEN
b/GIT-VERSION-GEN
index a64d79612ef3fbde0eadf35d657a5ed67825abce..32802232244a6a79258f2640e7e0f7e3ddd950a2 100755
(executable)
--- a/
GIT-VERSION-GEN
+++ b/
GIT-VERSION-GEN
@@
-1,22
+1,17
@@
-#!/bin/sh
-
-if test $# -ne 1; then
- echo >&2 "usage: $0 <version file>"
- exit 1
-fi
+#!/usr/bin/env bash
+(($# > 1)) && { echo >&2 "usage: $0 [<version file>]"; exit 1; }
GVF="$1"
GVF="$1"
-DEF_VER="unnamed_version"
+DEF_VER="unnamed_version"
LF='
'
# First see if there is a version file (included in release tarballs),
# then try git-describe, then default.
LF='
'
# First see if there is a version file (included in release tarballs),
# then try git-describe, then default.
-if test -f VERSION
-then
+if [[ -f VERSION ]]; then
VN=$(cat VERSION) || VN="$DEF_VER"
VN=$(cat VERSION) || VN="$DEF_VER"
-elif
test -d .git -o -f .git
&&
+elif
[[ -d .git || -f .git ]]
&&
VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
case "$VN" in
*$LF*) (exit 1) ;;
VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
case "$VN" in
*$LF*) (exit 1) ;;
@@
-32,14
+27,14
@@
else
fi
VN=$(expr "$VN" : v*'\(.*\)')
fi
VN=$(expr "$VN" : v*'\(.*\)')
+echo "$VN"
-if test -r $GVF
-then
- VC=$(sed -e 's/^GIT_VERSION = //' <$GVF)
-else
- VC=unset
+[[ -z "$GVF" ]] && exit 0
+
if [[ -r "$GVF" ]];
then
+ pattern='^#define GIT_VERSION "'
+ VC=$(grep "$pattern" < "$GVF" | sed -e "s/$pattern//; s/\"$//")
+ [[ "$VN" == "$VC" ]] && exit 0
fi
fi
-test "$VN" = "$VC" || {
- echo >&2 "GIT_VERSION = $VN"
- echo "GIT_VERSION = $VN" >$GVF
-}
+echo >&2 "new git version: $VN"
+echo "/** \\file ${GVF##*/} Auto-generated version file. Do not edit. */" >$GVF
+echo "#define GIT_VERSION \"$VN\"" >> $GVF