Mercurial > hg > octave-nkf > gnulib-hg
changeset 9175:c7f825e034ad
* build-aux/git-version-gen: New file, from coreutils. For details, see
http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Sun, 02 Sep 2007 22:42:45 +0000 |
parents | 51c9c0c00a3f |
children | 62aff26f0f85 |
files | ChangeLog build-aux/git-version-gen |
diffstat | 2 files changed, 88 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-09-03 Jim Meyering <jim@meyering.net> + + * build-aux/git-version-gen: New file, from coreutils. For details, see + http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506 + 2007-09-02 Bruno Haible <bruno@clisp.org> Fix mis-recognition of 'mcs' on QNX 6.
new file mode 100755 --- /dev/null +++ b/build-aux/git-version-gen @@ -0,0 +1,83 @@ +#!/bin/sh +# Print a version string. +# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. +scriptversion=2007-06-30.12 + +# Copyright (C) 2007 Free Software Foundation +# +# 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 3, 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, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +case $# in + 2) ;; + *) echo 1>&2 "Usage: $0 \$VERSION \$srcdir/.version"; exit 1;; +esac + +default_version=$1 +tarball_version_file=$2 +nl=' +' + +# First see if there is a tarball-only version file. +# then try git-describe, then default. +if test -f $tarball_version_file +then + v=`cat $tarball_version_file` || exit 1 + case $v in + *$nl*) v= ;; # reject multi-line output + [0-9]*) ;; + *) v= ;; + esac + test -z "$v" \ + && echo "$0: WARNING: $tarball_version_file seems to be damaged" 1>&2 +fi + +if test -n "$v" +then + : # use $v +elif test -d .git \ + && v=`git describe --abbrev=4 HEAD 2>/dev/null` \ + && case $v in + v[0-9]*) ;; + *) (exit 1) ;; + esac +then + # Remove the "g" in git-describe's output string; change each - to a '.' + v=`echo "$v" | sed 's/\(.*\)-g/\1-/;s/-/./g'`; +else + v=$default_version +fi + +v=`echo "$v" |sed 's/^v//'` + +dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty= +case "$dirty" in + '') ;; + *) # Append the suffix only if there isn't one already. + case $v in + *-dirty) ;; + *) v="$v-dirty" ;; + esac ;; +esac + +# Omit the trailing newline, so that m4_esyscmd can use the result directly. +echo "$v" | tr -d '\012' + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: