mirror of
https://https.git.savannah.gnu.org/git/patch.git
synced 2026-01-28 02:15:16 +00:00
34 lines
1.2 KiB
Bash
34 lines
1.2 KiB
Bash
# (Re)compute version from git repostitory
|
|
# Copyright (C) 2009 Free Software Foundation, Inc.
|
|
#
|
|
# Copying and distribution of this file, with or without modification,
|
|
# in any medium, are permitted without royalty provided the copyright
|
|
# notice and this notice are preserved.
|
|
|
|
# The version generated is of the form TAG[-SHORTREF[-dirty]], with
|
|
# TAG being the closest tag to the current version and SHORTREF being
|
|
# the first 8 hex digits of the the SHA-1 hash of HEAD. If there are
|
|
# local changes in the repository, -dirty is added.
|
|
|
|
version=$1
|
|
|
|
if git rev-parse --verify HEAD >/dev/null 2>/dev/null \
|
|
&& test -z "`git rev-parse --show-cdup`" ; then
|
|
set -- `git describe --tags HEAD 2> /dev/null || \
|
|
git rev-parse --short HEAD` \
|
|
`git update-index --refresh --unmerged > /dev/null
|
|
if git diff-index --name-only HEAD | read dummy; then
|
|
echo -dirty
|
|
fi`
|
|
if test "`expr substr "$1" 1 1`" = v ; then
|
|
set -- "`expr substr "$1" 2 "(" length "$1" - 1 ")"`" "$2"
|
|
fi
|
|
echo $1$2 > .$version.tmp
|
|
if test ! -e $version \
|
|
|| ! cmp -s .$version.tmp $version ; then
|
|
mv .$version.tmp $version
|
|
else
|
|
rm -f .$version.tmp
|
|
fi
|
|
fi
|