]> git.ipfire.org Git - thirdparty/git.git/blobdiff - GIT-VERSION-GEN
sha1_file.c: Round the mmap offset to half the window size.
[thirdparty/git.git] / GIT-VERSION-GEN
index 9fc80a656c19452fd90eb06207699b3bdd8de0a9..febacd2dc9a91cfd9135a64ee554d14282a105d2 100755 (executable)
@@ -1,53 +1,20 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=0.5.GIT
+DEF_VER=v1.5.0.GIT
 
 LF='
 '
 
-tree_search ()
-{
-       head=$1
-       tree=$2
-       for p in $(git rev-list --parents --max-count=1 $head 2>/devnull)
-       do
-               test $tree = $(git rev-parse $p^{tree} 2>/dev/null) &&
-               vn=$(git describe --abbrev=4 $p 2>/dev/null) &&
-               case "$vn" in
-               gitgui-[0-9]*) echo $vn; break;;
-               esac
-       done
-}
-
-# We may be a subproject, so try looking for the merge
-# commit that supplied this directory content if we are
-# not at the toplevel.  We probably will always be the
-# second parent in the commit, but we shouldn't rely on
-# that fact.
-#
-# If we are at the toplevel or the merge assumption fails
-# try looking for a gitgui-* tag, or fallback onto the
-# distributed version file.
-
-if prefix="$(git rev-parse --show-prefix 2>/dev/null)"
-   test -n "$prefix" &&
-   head=$(git rev-list --max-count=1 HEAD -- . 2>/dev/null) &&
-   tree=$(git rev-parse --verify "HEAD:$prefix" 2>/dev/null) &&
-   VN=$(tree_search $head $tree)
+# First try git-describe, then see if there is a version file
+# (included in release tarballs), then default
+if VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
    case "$VN" in
-   gitgui-[0-9]*) : happy ;;
-   *) (exit 1) ;;
+   *$LF*) (exit 1) ;;
+   v[0-9]*) : happy ;;
    esac
 then
-       VN=$(echo "$VN" | sed -e 's/^gitgui-//;s/-/./g');
-elif VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
-   case "$VN" in
-   gitgui-[0-9]*) : happy ;;
-   *) (exit 1) ;;
-   esac
-then
-       VN=$(echo "$VN" | sed -e 's/^gitgui-//;s/-/./g');
+       VN=$(echo "$VN" | sed -e 's/-/./g');
 elif test -f version
 then
        VN=$(cat version) || VN="$DEF_VER"
@@ -55,6 +22,8 @@ else
        VN="$DEF_VER"
 fi
 
+VN=$(expr "$VN" : v*'\(.*\)')
+
 dirty=$(sh -c 'git diff-index --name-only HEAD' 2>/dev/null) || dirty=
 case "$dirty" in
 '')
@@ -65,13 +34,13 @@ esac
 
 if test -r $GVF
 then
-       VC=$(sed -e 's/^GITGUI_VERSION = //' <$GVF)
+       VC=$(sed -e 's/^GIT_VERSION = //' <$GVF)
 else
        VC=unset
 fi
 test "$VN" = "$VC" || {
-       echo >&2 "GITGUI_VERSION = $VN"
-       echo "GITGUI_VERSION = $VN" >$GVF
+       echo >&2 "GIT_VERSION = $VN"
+       echo "GIT_VERSION = $VN" >$GVF
 }