projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
open intervals and type derivation
[sbcl.git]
/
generate-version.sh
diff --git
a/generate-version.sh
b/generate-version.sh
index
c2c4b63
..
7d2ef6f
100755
(executable)
--- a/
generate-version.sh
+++ b/
generate-version.sh
@@
-4,18
+4,19
@@
git_available_p() {
# Check that (1) we have git (2) this is a git tree.
if ( which git >/dev/null 2>/dev/null && git describe >/dev/null 2>/dev/null )
then
# Check that (1) we have git (2) this is a git tree.
if ( which git >/dev/null 2>/dev/null && git describe >/dev/null 2>/dev/null )
then
- true
+ echo "ok"
else
else
- false
+ echo ""
fi
}
generate_version() {
fi
}
generate_version() {
- if [ -f version.lisp-expr -a ! git_available_p ]
+ AVAILABLE=`git_available_p`
+ if [ -f version.lisp-expr -a -z "$AVAILABLE" ]
then
# Relase tarball, leave version.lisp-expr alone.
return
then
# Relase tarball, leave version.lisp-expr alone.
return
- elif [ ! git_available_p ]
+ elif [ -z "$AVAILABLE" ]
then
echo "Can't run 'git describe' and version.lisp-expr is missing." >&2
echo "To fix this, either install git or create a fake version.lisp-expr file." >&2
then
echo "Can't run 'git describe' and version.lisp-expr is missing." >&2
echo "To fix this, either install git or create a fake version.lisp-expr file." >&2
@@
-25,9
+26,23
@@
generate_version() {
fi
# Build it.
version_head=`git rev-parse HEAD`
fi
# Build it.
version_head=`git rev-parse HEAD`
+ if grep -q "ref: refs/heads/.*" .git/HEAD > /dev/null 2>&1
+ then
+ version_branchname=`cut -d / -f 3- < .git/HEAD`
+ else
+ # Detached head.
+ version_branchname="HEAD"
+ fi
if [ -z "$SBCL_BUILDING_RELEASE_FROM" ]
then
if [ -z "$SBCL_BUILDING_RELEASE_FROM" ]
then
- version_root="origin/master"
+ if [ "`git rev-list HEAD --not origin/master`" = '' ]
+ then
+ # If origin/master contains all the commits on current
+ # branch, use current head as the root instead.
+ version_root="$version_branchname"
+ else
+ version_root="origin/master"
+ fi
else
version_root="$SBCL_BUILDING_RELEASE_FROM"
fi
else
version_root="$SBCL_BUILDING_RELEASE_FROM"
fi
@@
-70,7
+85,6
@@
EOF
else
echo "base=$version_base"
echo "head=$version_head"
else
echo "base=$version_base"
echo "head=$version_head"
- version_branchname=`git describe --contains --all HEAD`
printf "\"%s.%s.%s.%s%s%s\"\n" \
$version_release $version_n_root \
$version_branchname $version_n_branch \
printf "\"%s.%s.%s.%s%s%s\"\n" \
$version_release $version_n_root \
$version_branchname $version_n_branch \