diff options
Diffstat (limited to 'build-aux/vc-list-files')
-rwxr-xr-x | build-aux/vc-list-files | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files new file mode 100755 index 0000000..b170638 --- /dev/null +++ b/build-aux/vc-list-files @@ -0,0 +1,60 @@ +#!/bin/sh +# List the specified version-controlled files. + +# Copyright (C) 2006, 2007 Free Software Foundation, Inc. + +# 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, 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. + + +# List the specified version-controlled files. +# With no argument, list them all. +# 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, +# with no trailing slashes. In mercurial mode, it's used as part of a +# "grep" pattern (prepend "^", append "/"), and in cvs mode, it's simply +# used as an argument to the cvsu script. +# cvsu is part of the cvsutils package: http://www.red-bean.com/cvsutils/ + +include_prefix= +case $# in + 0) ;; + 1) include_prefix=$1 ;; + *) echo "$0: too many arguments" 1>&2; exit 1 ;; +esac + +if test -d .git; then + if test "x$include_prefix" = x; then + git-ls-files + else + git-ls-files | grep "^$include_prefix/" + fi +elif test -d .hg; then + if test "x$include_prefix" = x; then + hg manifest | cut -d ' ' -f 2 + else + hg manifest | cut -d ' ' -f 2 | grep "^$include_prefix/" + fi +elif test -x build-aux/cvsu; then + build-aux/cvsu --find --types=AFGM $include_prefix +else + awk -F/ '{ \ + if (!$1 && $3 !~ /^-/) { \ + f=FILENAME; \ + sub(/CVS\/Entries/, "", f); \ + print f $2; \ + }}' \ + $(find ${*-*} -name Entries -print) /dev/null; +fi |