automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, branch-1.11, updated. v1.11


From: Ralf Wildenhues
Subject: [Automake-commit] [SCM] GNU Automake branch, branch-1.11, updated. v1.11.1-193-g299f1cd
Date: Sat, 21 Aug 2010 09:14:30 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=299f1cd5c975e2c0918143613c6f135112ef2ba9

The branch, branch-1.11 has been updated
       via  299f1cd5c975e2c0918143613c6f135112ef2ba9 (commit)
       via  b268a1f605ba5eb00d15c6e169d535633fa3d39b (commit)
       via  999865553137b48a0770b5073cfd4f91c1e49593 (commit)
       via  c2ff7e81110e29c37fdbb8938407c25049e46813 (commit)
       via  9c9cf0d89bc1b5bdafd9fc8a42254f42c3935d5c (commit)
       via  8f3f7d7a35a2e11b0979c8710b5205706e4c8b7b (commit)
       via  92783d30b5696a08412ef98d1bdf886b65829ed8 (commit)
      from  feb8bb5e17b6f6a7f461358db6afe84b37b04bf4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 299f1cd5c975e2c0918143613c6f135112ef2ba9
Merge: feb8bb5 b268a1f
Author: Ralf Wildenhues <address@hidden>
Date:   Sat Aug 21 11:07:53 2010 +0200

    Merge branch 'maint' into branch-1.11

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                        |   11 +++++++++++
 HACKING                          |   10 +++++-----
 lib/mdate-sh                     |   23 +++++++++++++++++++++--
 tests/Makefile.am                |    1 +
 tests/Makefile.in                |    1 +
 tests/{all2.test => mdate6.test} |   21 +++++++++++----------
 6 files changed, 50 insertions(+), 17 deletions(-)
 copy tests/{all2.test => mdate6.test} (67%)

diff --git a/ChangeLog b/ChangeLog
index cdee1fe..f84f2ab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2010-08-21  Ralf Wildenhues  <address@hidden>
+
+       Improve robustness of mdate-sh script.
+       * lib/mdate-sh: Sanitize zsh behavior on startup, to ensure
+       $ls_command is word-split properly upon invocation.
+       (error): New function.
+       (main): Use it.  Improve error checking to avoid endless loop
+       in case $ls_command gave bogus output.  Fix eval quotation.
+       * tests/mdate6.test: New test, to expose eval quotation error.
+       * tests/Makefile.am: Update.
+
 2010-08-18  Stefano Lattarini  <address@hidden>
 
        Fix potential regressions in depcomp{3,5}.test.
diff --git a/HACKING b/HACKING
index 8480f7c..d9b2099 100644
--- a/HACKING
+++ b/HACKING
@@ -86,8 +86,6 @@
   &, just convert the old code as you work on it, and write new
   code without.
 
-* Perl 5 is now OK.
-
 ================================================================
 = Working with git
 
@@ -139,9 +137,11 @@
   # if all seems ok, then actually push:
   git push origin maint branch-1.11 master
 
-* For bug fixes of long-standing bugs, it may be useful to commit them to
-  a new branch based off of the commit that introduced the bug, and merge
-  this bugfix branch into active branches that descend from the buggy commit.
+* When fixing a bug (especially a long-standing one), it may be useful
+  to commit the fix to a new temporary branch based off the commit that
+  introduced the bug.  Then this "bugfix branch" can be merged into all
+  the active branches descending from the buggy commit.  This offers a
+  simple way to fix the bug consistently and effectively.
 
 * There may be a number of longer-lived feature branches for new developments.
   They should be based off of a common ancestor of all active branches to
diff --git a/lib/mdate-sh b/lib/mdate-sh
index c477512..60dc485 100755
--- a/lib/mdate-sh
+++ b/lib/mdate-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Get modification time of a file or directory and pretty-print it.
 
-scriptversion=2010-02-22.21; # UTC
+scriptversion=2010-08-21.06; # UTC
 
 # Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009, 2010
 # Free Software Foundation, Inc.
@@ -29,6 +29,15 @@ scriptversion=2010-02-22.21; # UTC
 # bugs to <address@hidden> or send patches to
 # <address@hidden>.
 
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+fi
+
 case $1 in
   '')
      echo "$0: No file.  Try \`$0 --help' for more information." 1>&2
@@ -51,6 +60,13 @@ EOF
     ;;
 esac
 
+error ()
+{
+  echo "$0: $1" >&2
+  exit 1
+}
+
+
 # Prevent date giving response in another language.
 LANG=C
 export LANG
@@ -100,6 +116,7 @@ month=
 command=
 until test $month
 do
+  test $# -gt 0 || error "failed parsing \`$ls_command /' output"
   shift
   # Add another shift to the command.
   command="$command shift;"
@@ -119,8 +136,10 @@ do
   esac
 done
 
+test -n "$month" || error "failed parsing \`$ls_command /' output"
+
 # Get the extended ls output of the file or directory.
-set dummy x`eval "$ls_command \"\$save_arg1\""`
+set dummy x`eval "$ls_command \"\\\$save_arg1\""`
 
 # Remove all preceding arguments
 eval $command
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 0558149..3ecc341 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -474,6 +474,7 @@ mdate2.test \
 mdate3.test \
 mdate4.test \
 mdate5.test \
+mdate6.test \
 missing.test \
 missing2.test \
 missing3.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 47e238b..77a20d1 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -712,6 +712,7 @@ mdate2.test \
 mdate3.test \
 mdate4.test \
 mdate5.test \
+mdate6.test \
 missing.test \
 missing2.test \
 missing3.test \
diff --git a/tests/all2.test b/tests/mdate6.test
similarity index 67%
copy from tests/all2.test
copy to tests/mdate6.test
index 38b6f8c..e7f7d69 100755
--- a/tests/all2.test
+++ b/tests/mdate6.test
@@ -14,21 +14,22 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Test to make sure all-local and other -local targets work correctly.
+# mdate-sh can work with weird file names, doesn't eval too much.
 
 . ./defs || Exit 1
 
 set -e
 
-$ACLOCAL
+a=
+file='file  name $a'
+( : > "$file" ) || Exit 77
 
-targets='all install-exec install-data uninstall'
-for target in $targets; do
-  : Doing $target
-  echo "${target}-local:" > Makefile.am
-  $AUTOMAKE
-  grep "${target}-local ${target}-local" Makefile.in && Exit 1
-  grep "${target}-am:.*${target}-local" Makefile.in
-done
+cp "$testsrcdir"/../lib/mdate-sh .
+$SHELL ./mdate-sh "$file" >stdout 2>stderr ||
+  { cat stdout; cat stderr >&2; Exit 1; }
+cat stdout
+cat stderr >&2
+grep '[12][0-9]\{3\}' stdout
+test ! -s stderr
 
 :


hooks/post-receive
-- 
GNU Automake



reply via email to

[Prev in Thread] Current Thread [Next in Thread]