Mercurial > hg > octave-kai > gnulib-hg
changeset 11728:91887b0a2a0f
vc-list-files: avoid failure when /bin/sh is dash
* build-aux/vc-list-files: Avoid a shell portability problem with dash.
On some Debian based systems, /bin/sh is a symlink to dash, and running
this command would omit the "/" following each 'tests' prefix:
dash -x build-aux/vc-list-files -C . tests
That is because bash and dash work differently:
$ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
bash ok
dash odd
author | Jim Meyering <meyering@redhat.com> |
---|---|
date | Tue, 21 Jul 2009 18:24:22 +0200 |
parents | b4078ab49851 |
children | 96bc5f7886d1 |
files | ChangeLog build-aux/vc-list-files |
diffstat | 2 files changed, 14 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2009-07-21 Jim Meyering <meyering@redhat.com> + + vc-list-files: avoid failure when /bin/sh is dash + * build-aux/vc-list-files: Avoid a shell portability problem with dash. + On some Debian based systems, /bin/sh is a symlink to dash, and running + this command would omit the "/" following each 'tests' prefix: + dash -x build-aux/vc-list-files -C . tests + That is because bash and dash work differently: + $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done + bash ok + dash odd + 2009-07-21 Eric Blake <ebb9@byu.net> dup2-tests: test previous patch
--- a/build-aux/vc-list-files +++ b/build-aux/vc-list-files @@ -2,7 +2,7 @@ # List version-controlled file names. # Print a version string. -scriptversion=2009-04-25.13; # UTC +scriptversion=2009-07-21.16; # UTC # Copyright (C) 2006-2009 Free Software Foundation, Inc. @@ -74,7 +74,7 @@ if test -d .git; then test "x$dir" = x. \ && dir= sed_esc= \ - || dir="$dir/" sed_esc=`echo "$dir"|sed 's,\([\\/]\),\\\\\1,g'` + || { 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