X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=build-aux%2Fvc-list-files;h=8ca4530f7ab268711784c4c7eee144e5fce70542;hb=b792aeb401b00124b3c27c9f1d850d3312e7b849;hp=1e158bb521e219fa4dfa0327ee40e9c826eba563;hpb=575ad1bd0e1b5263116caea5913f424abdde1675;p=gnulib.git diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files index 1e158bb52..8ca4530f7 100755 --- 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-05-01.10 + # Copyright (C) 2006-2008 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify @@ -20,38 +23,84 @@ # 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 + exit ;; + + --version) + year=`echo "$scriptversion" | sed 's/[^0-9].*//'` + cat < +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) + test "$2" = . || 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 .bzr; then + test "$postprocess" = '' && postprocess="| sed 's|^\./||'" + eval exec bzr ls --versioned '"$dir"' $postprocess elif test -d CVS; then + test "$postprocess" = '' && postprocess="| sed 's|^\./||'" 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 "$dir" -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: