summaryrefslogtreecommitdiff
path: root/build-aux/vc-list-files
diff options
context:
space:
mode:
Diffstat (limited to 'build-aux/vc-list-files')
-rwxr-xr-xbuild-aux/vc-list-files60
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