1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/bin/sh
- #
- # get-version
- #
- # Copyright © 2009, 2013-2014 Guillem Jover <guillem@debian.org>
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see <https://www.gnu.org/licenses/>.
- #
- if [ -f .dist-version ]; then
- # Get the version from the file distributed in the tarball.
- version=$(cat .dist-version)
- elif [ -d .git ]; then
- # Get the version from the git repository. Since tags cannot contain colons
- # or tildes, we use percent and underscore instead. Reverse that switch here.
- version=$(git describe --abbrev=4 HEAD 2>/dev/null | tr %_ :~)
- # Check if we are on a dirty checkout.
- git update-index --refresh -q >/dev/null
- dirty=$(git diff-index --name-only HEAD 2>/dev/null)
- if [ -z $version ]; then
- version="1.18.23"
- fi
- if [ -n "$dirty" ]; then
- version="$version-dirty"
- fi
- else
- echo "error: cannot get project version." 1>&2
- exit 1
- fi
- # Use printf to avoid the trailing new line that m4_esyscmd would not handle.
- printf "$version"
|