[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] vc-list-files: avoid failure when /bin/sh is dash
From: |
Jim Meyering |
Subject: |
[PATCH] vc-list-files: avoid failure when /bin/sh is dash |
Date: |
Tue, 21 Jul 2009 18:26:42 +0200 |
I've just pushed the following.
It fixes a nasty little portability problem:
>From 7c385af22c99df5eceda1e82d7aa595e6d5cb796 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Tue, 21 Jul 2009 18:24:22 +0200
Subject: [PATCH] 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
---
ChangeLog | 12 ++++++++++++
build-aux/vc-list-files | 4 ++--
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 6a89b40..b471369 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2009-07-21 Jim Meyering <address@hidden>
+
+ 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 <address@hidden>
dup2-tests: test previous patch
diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files
index 9376e3d..cc716e9 100755
--- 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 @@ test "x$dir" = x && dir=.
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
--
1.6.4.rc1.189.g9f628
- [PATCH] vc-list-files: avoid failure when /bin/sh is dash,
Jim Meyering <=