Directly invoke git ls-tree instead of the wrapper file which also: * checks for other versioning systems * prepends the source directory to all output lines Since there is no srcdir prefix in the output anymore, also drop the extra 'sed' invocation that removes it. Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx> --- build-aux/syntax-check.mk | 6 +- build-aux/vc-list-files | 113 -------------------------------------- 2 files changed, 3 insertions(+), 116 deletions(-) delete mode 100755 build-aux/vc-list-files diff --git a/build-aux/syntax-check.mk b/build-aux/syntax-check.mk index 307255c300..f493d19dae 100644 --- a/build-aux/syntax-check.mk +++ b/build-aux/syntax-check.mk @@ -37,7 +37,8 @@ _sp = $(_empty) $(_empty) # If S1 == S2, return S1, otherwise the empty string. _equal = $(and $(findstring $(1),$(2)),$(findstring $(2),$(1))) -VC_LIST = $(top_srcdir)/build-aux/vc-list-files -C $(top_srcdir) +VC_LIST = (cd $(top_srcdir); git ls-tree -r 'HEAD:' | \ + sed -n "s|^100[^ ]*.||p") # You can override this variable in syntax-check.mk to set your own regexp # matching files to ignore. @@ -63,8 +64,7 @@ endif _sc_excl = \ $(or $(exclude_file_name_regexp--$@),^$$) VC_LIST_EXCEPT = \ - $(VC_LIST) | $(SED) 's|^$(_dot_escaped_srcdir)/||' \ - | $(GREP) -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \ + $(VC_LIST) | $(GREP) -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \ $(_prepend_srcdir_prefix) # Prevent programs like 'sort' from considering distinct strings to be equal. diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files deleted file mode 100755 index af6b1c0f8a..0000000000 --- a/build-aux/vc-list-files +++ /dev/null @@ -1,113 +0,0 @@ -#!/bin/sh -# List version-controlled file names. - -# Print a version string. -scriptversion=2018-03-07.03; # UTC - -# Copyright (C) 2006-2019 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 3 of the License, 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, see <https://www.gnu.org/licenses/>. - - -# 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. - -# 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@xxxxxxx>. -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 <https://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) - test "$2" = . || postprocess="| sed 's|^|$2/|'" - cd "$2" || exit 1 - shift; shift ;; -esac - -test $# = 0 && set . - -for dir -do - if test -d .git || test -f .git; then - test "x$dir" = x. \ - && dir= sed_esc= \ - || { dir="$dir/"; sed_esc=`echo "$dir"|env sed 's,\([\\/]\),\\\\\1,g'`; } - # Ignore git symlinks - either they point into the tree, in which case - # we don't need to visit the target twice, or they point somewhere - # else (often into a submodule), in which case the content does not - # belong to this package. - eval exec git ls-tree -r 'HEAD:"$dir"' \ - \| sed -n '"s/^100[^ ]*./$sed_esc/p"' $postprocess - elif test -d .hg; then - eval exec hg locate '"$dir/*"' $postprocess - elif test -d .bzr; then - test "$postprocess" = '' && postprocess="| sed 's|^\./||'" - eval exec bzr ls -R --versioned '"$dir"' $postprocess - elif test -d CVS; then - test "$postprocess" = '' && postprocess="| sed 's|^\./||'" - if test -x build-aux/cvsu; then - 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 - eval awk -F/ \''{ \ - if (!$1 && $3 !~ /^-/) { \ - f=FILENAME; \ - if (f ~ /CVS\/Entries$/) \ - f = substr(f, 1, length(f)-11); \ - print f $2; \ - }}'\'' \ - `find "$dir" -name Entries -print` /dev/null' $postprocess - fi - elif test -d .svn; then - eval exec svn list -R '"$dir"' $postprocess - else - echo "$0: Failed to determine type of version control used in `pwd`" 1>&2 - exit 1 - fi -done - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC0" -# time-stamp-end: "; # UTC" -# End: -- 2.31.1