automake-commit
[Top][All Lists]
Advanced

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

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


From: Ralf Wildenhues
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-272-gdd5ce94
Date: Tue, 27 Jul 2010 19:49:12 +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=dd5ce94c457b8282b2da4ddb5e0fec7b8c9df20f

The branch, master has been updated
       via  dd5ce94c457b8282b2da4ddb5e0fec7b8c9df20f (commit)
       via  bdeb8f01b8c30f72fecc9760cfb172f171c34a95 (commit)
       via  6f6e3288fe16b140d86014f2395c510984786c52 (commit)
       via  1f92ad1d0a8d323a94c0abf5ad28fa2f31e9cd50 (commit)
       via  c1361d43385ef7dd165683eb5fb1f7f9bb8778be (commit)
      from  ba70e3a70829f51f90848d13fd27c912d3c32b02 (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 dd5ce94c457b8282b2da4ddb5e0fec7b8c9df20f
Merge: ba70e3a bdeb8f0
Author: Ralf Wildenhues <address@hidden>
Date:   Tue Jul 27 21:46:25 2010 +0200

    Merge branch 'maint'

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

Summary of changes:
 ChangeLog                          |   22 ++++++++++++++++++
 HACKING                            |   42 +++++++++++++++++++++++++----------
 NEWS                               |    3 ++
 m4/cond-if.m4                      |   14 ++++++------
 tests/Makefile.am                  |    1 +
 tests/Makefile.in                  |    1 +
 tests/cond40.test                  |   19 ++++++++++++----
 tests/{candist.test => init2.test} |   16 ++++++-------
 8 files changed, 85 insertions(+), 33 deletions(-)
 copy tests/{candist.test => init2.test} (71%)

diff --git a/ChangeLog b/ChangeLog
index d37038d..a3db22d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2010-07-27  Ralf Wildenhues  <address@hidden>
+
+       Document current policy for development with git.
+       * HACKING (Working with git): Overhaul.
+       Prompted by suggestion from Stefano Lattarini.
+
+       Fix AM_COND_IF for gone-invalid condition shell expression.
+       * m4/cond-if.m4 (AM_COND_IF): test contents of $COND_TRUE
+       variable, rather than re-evaluating the shell expression for
+       the condition.
+       * tests/cond40.test: Extend test.
+       * NEWS: Update.
+
+       Avoid syntax error if IF-TRUE part of AM_COND_IF expands empty.
+       * m4/cond-if.m4 (AM_COND_IF): Ensure IF-TRUE part is never empty
+       to avoid shell syntax error if the m4 expansion is empty.
+       * tests/cond40.test: Enhance test.
+
+       Coverage: bogus option to AM_INIT_AUTOMAKE.
+       * tests/init2.test: New test.
+       * tests/Makefile.am: Update.
+
 2010-07-21  Stefano Lattarini  <address@hidden>
 
        Modernize and improve test scripts `subdir*.test'.
diff --git a/HACKING b/HACKING
index fd9f031..a4c918a 100644
--- a/HACKING
+++ b/HACKING
@@ -92,28 +92,46 @@
 
 
 ================================================================
-= Working with git/CVS
+= Working with git
 
 * To regenerate dependent files created by aclocal and automake,
   use the `bootstrap' script.  It uses the code from the source
   tree, so the resulting files (aclocal.m4 and Makefile.in) should
   be the same as you would get if you install this version of
-  automake and use it to generate those files.
+  automake and use it to generate those files.  Be sure to have the
+  latest stable version of Autoconf installed.
 
 * Dependent files aclocal.m4, configure and Makefile.in in all
   directories should be up to date in the git repository, so that
   the changes in them can be easily noticed and analyzed.
 
-* Avoid merge commits on the master branch of the public git repository.
-  For unpublished changes in your development tree, it's easiest to
-  rebase against the current master before applying them, this preserves
-  a linear history.
-
-* For changes to appear in more than one branch, apply them to the
-  master branch and then cherry-pick them to the stable branch from
-  master if possible.  This keeps the master uncluttered and preserves
-  meta-data on the stable branches.
-
+* The git tree currently carries a number of branches: master for the
+  current development, and release branches named branch-X.Y.  The maint
+  branch serves as common ground for both master and the active release
+  branches.  Changes intended for both should be applied to maint, which
+  should then be merged to release branches and master, of course after
+  suitable testing.  It is advisable to merge only after a set of related
+  commits have been applied.
+
+* 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.
+
+* 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
+  which the feature should be merged later.  The next branch may serve as
+  common ground for feature merging and testing, should they not be ready
+  for master yet.
+
+* master and release branches should not be rewound, i.e., should always
+  fast-forward, except maybe for privacy issues.  The maint branch should not
+  be rewound except maybe after retiring a release branch or a new stable
+  release.  For next, and for feature branches, the announcement for the
+  branch should document rewinding policy.
+
+* In order for rebasing and merging of ChangeLog entries to work seamlessly,
+  install and configure git-merge-changelog, currently available as gnulib
+  module.
 
 ================================================================
 = Test suite
diff --git a/NEWS b/NEWS
index caffbb5..1c19909 100644
--- a/NEWS
+++ b/NEWS
@@ -36,6 +36,9 @@ Bugs fixed in 1.11a:
 
   - The `dist-xz' option now uses `xz -9' for maximum compression.
 
+  - The AM_COND_IF macro also works if the shell expression for the conditional
+    is no longer valid for the condition.
+
 * Long standing bugs:
 
   - On Darwin 9, `pythondir' and `pyexecdir' pointed below `/Library/Python'
diff --git a/m4/cond-if.m4 b/m4/cond-if.m4
index 9f2611e..3a25e32 100644
--- a/m4/cond-if.m4
+++ b/m4/cond-if.m4
@@ -1,12 +1,12 @@
 # AM_COND_IF                                            -*- Autoconf -*-
 
-# Copyright (C) 2008 Free Software Foundation, Inc.
+# Copyright (C) 2008, 2010 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 3
 
 # _AM_COND_IF
 # _AM_COND_ELSE
@@ -20,15 +20,15 @@ m4_define([_AM_COND_ENDIF])
 
 # AM_COND_IF(COND, [IF-TRUE], [IF-FALSE])
 # ---------------------------------------
-# If the shell condition matching COND is true, execute IF-TRUE,
-# otherwise execute IF-FALSE.  Allow automake to learn about conditional
-# instantiating macros (the AC_CONFIG_FOOS).
+# If the shell condition COND is true, execute IF-TRUE, otherwise execute
+# IF-FALSE.  Allow automake to learn about conditional instantiating macros
+# (the AC_CONFIG_FOOS).
 AC_DEFUN([AM_COND_IF],
 [m4_ifndef([_AM_COND_VALUE_$1],
           [m4_fatal([$0: no such condition "$1"])])dnl
 _AM_COND_IF([$1])dnl
-if _AM_COND_VALUE_$1; then
-  m4_default([$2], [:])
+if test -z "$$1_TRUE"; then :
+  m4_n([$2])[]dnl
 m4_ifval([$3],
 [_AM_COND_ELSE([$1])dnl
 else
diff --git a/tests/Makefile.am b/tests/Makefile.am
index af20d3e..051fcdf 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -378,6 +378,7 @@ include.test \
 include2.test \
 info.test \
 init.test \
+init2.test \
 insh2.test \
 install2.test \
 installdir.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 592faa0..09da716 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -589,6 +589,7 @@ include.test \
 include2.test \
 info.test \
 init.test \
+init2.test \
 insh2.test \
 install2.test \
 installdir.test \
diff --git a/tests/cond40.test b/tests/cond40.test
index be94fe3..c0bde5c 100755
--- a/tests/cond40.test
+++ b/tests/cond40.test
@@ -1,5 +1,5 @@
-#!/bin/sh
-# Copyright (C) 2008  Free Software Foundation, Inc.
+#! /bin/sh
+# Copyright (C) 2008, 2010 Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -28,12 +28,21 @@ AC_DEFUN([FOO],
         [AC_CONFIG_FILES([$1])])
 
 AM_CONDITIONAL([COND], [test "$cond" = yes])
+# Next lines should not cause a shell syntax error.
+AM_COND_IF([COND])
+AM_COND_IF([COND],
+          [AC_SUBST([BAR])])
 AM_COND_IF([COND],
           [AC_CONFIG_FILES([file1])])
 
-AM_CONDITIONAL([COND1], [test "$cond1" = yes])
-AM_CONDITIONAL([COND2], [test "$cond2" = yes])
-AM_CONDITIONAL([COND3], [test "$cond3" = yes])
+# Things should work even at a time when the shell expressions
+# for the conditional are not valid any more.
+ok=$cond1
+AM_CONDITIONAL([COND1], [test "$ok" = yes])
+ok=$cond2
+AM_CONDITIONAL([COND2], [test "$ok" = yes])
+ok=$cond3
+AM_CONDITIONAL([COND3], [test "$ok" = yes])
 
 AM_COND_IF([COND1],
           [AM_COND_IF([COND2], [FOO([file2])],
diff --git a/tests/candist.test b/tests/init2.test
similarity index 71%
copy from tests/candist.test
copy to tests/init2.test
index 0a859dd..31631d7 100755
--- a/tests/candist.test
+++ b/tests/init2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2009  Free Software Foundation, Inc.
+# Copyright (C) 2010 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
@@ -14,21 +14,19 @@
 # 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 things that cannot be dist_'ed are diagnosed.
+# Make sure we give a sensible error message when AM_INIT_AUTOMAKE
+# contains junk.
 
 . ./defs || Exit 1
 
 set -e
 
-echo AC_OUTPUT >>configure.in
-
-cat > Makefile.am << 'END'
-dist_bin_PROGRAMS = foo
-dist_lib_LIBRARIES = libfoo.a
+cat >configure.in <<END
+AC_INIT([init2], [1.0])
+AM_INIT_AUTOMAKE([nosuchoption])
 END
 
 $ACLOCAL
 AUTOMAKE_fails
-test 2 -eq `grep -c 'dist.*forbidden' stderr`
-
+grep 'nosuchoption.*recognized' stderr
 Exit 0


hooks/post-receive
-- 
GNU Automake



reply via email to

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