Mercurial > hg > octave-lojdl > gnulib-hg
changeset 9865:8cd0d41a9b6d
Allow VPATH usage of vc-list-files.
* build-aux/vc-list-files (scriptversion): Add timestamp.
(options): Add --help, --version, -C.
(CVS): Support installed cvsu.
Signed-off-by: Eric Blake <ebb9@byu.net>
author | Eric Blake <ebb9@byu.net> |
---|---|
date | Thu, 03 Apr 2008 08:45:00 -0600 |
parents | 980dca32ad8b |
children | 3de5cdb73cbc |
files | ChangeLog build-aux/vc-list-files |
diffstat | 2 files changed, 61 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-04-03 Eric Blake <ebb9@byu.net> + + Allow VPATH usage of vc-list-files. + * build-aux/vc-list-files (scriptversion): Add timestamp. + (options): Add --help, --version, -C. + (CVS): Support installed cvsu. + 2008-04-02 Bruno Haible <bruno@clisp.org> Avoid some "statement with no effect" warnings from gcc.
--- a/build-aux/vc-list-files +++ b/build-aux/vc-list-files @@ -1,6 +1,9 @@ #!/bin/sh # List version-controlled file names. +# Print a version string. +scriptversion=2008-04-03.14 + # Copyright (C) 2006-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify @@ -20,38 +23,80 @@ # List the specified version-controlled files. # With no argument, list them all. With a single DIRECTORY argument, # list the version-controlled files in that directory. -# This script must be run solely from the top of a $srcdir build directory. # If there's an argument, it must be a single, "."-relative directory name. # cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/ +postprocess= +case $1 in + --help) cat <<EOF +Usage: $0 [-C SRCDIR] [DIR] + +Output a list of version-controlled files in DIR (default .), relative to +SRCDIR (default .). SRCDIR must be the top directory of a checkout. + +Options: + --help print this help, then exit + --version print version number, then exit + -C SRCDIR change directory to SRCDIR before generating list + +Report bugs and patches to <bug-gnulib@gnu.org>. +EOF + exit ;; + + --version) + year=`echo "$scriptversion" | sed 's/[^0-9].*//'` + cat <<EOF +vc-list-files $scriptversion +Copyright (C) $year Free Software Foundation, Inc, +License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. +EOF + exit ;; + + -C) + postprocess="| sed 's|^|$2/|'" + cd "$2" || exit 1 + shift; shift ;; +esac + dir= case $# in 0) ;; 1) dir=$1 ;; *) echo "$0: too many arguments" 1>&2 - echo "Usage: $0 [DIR]" 1>&2; exit 1;; + echo "Usage: $0 [-C srcdir] [DIR]" 1>&2; exit 1;; esac test "x$dir" = x && dir=. if test -d .git; then - exec git ls-files "$dir" + eval exec git ls-files '"$dir"' $postprocess elif test -d .hg; then - exec hg locate "$dir/*" + eval exec hg locate '"$dir/*"' $postprocess elif test -d CVS; then if test -x build-aux/cvsu; then - build-aux/cvsu --find --types=AFGM "$dir" + eval build-aux/cvsu --find --types=AFGM '"$dir"' $postprocess + elif (cvsu --help) >/dev/null 2>&1; then + eval cvsu --find --types=AFGM '"$dir"' $postprocess else - awk -F/ '{ \ + eval awk -F/ \''{ \ if (!$1 && $3 !~ /^-/) { \ f=FILENAME; \ sub(/CVS\/Entries/, "", f); \ print f $2; \ - }}' \ - $(find ${*-*} -name Entries -print) /dev/null; + }}'\'' \ + $(find ${*-*} -name Entries -print) /dev/null' $postprocess fi else - echo "$0: Failed to determine type of version control used in "`pwd` 1>&2 + echo "$0: Failed to determine type of version control used in `pwd`" 1>&2 exit 1 fi + +# 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: