diff options
-rw-r--r-- | Makefile.in | 20 | ||||
-rw-r--r-- | README.CHANGES | 17 | ||||
-rw-r--r-- | acinclude.m4 | 1 | ||||
-rw-r--r-- | configure.in | 1 |
4 files changed, 39 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in index df59db6fde..6a2be8d830 100644 --- a/Makefile.in +++ b/Makefile.in @@ -166,6 +166,26 @@ docs: echo ' http://httpd.apache.org/docs-project/docsformat.html'; \ fi +update-changes: + @for i in `find changes -type f`; do \ + cp CHANGES CHANGES.tmp ; \ + awk -vfname=$$i 'BEGIN{done = 0} \ + done == 0 && /^Changes with Apache /{ active = 1; print; next}; \ + /^ *\*/ && active == 1 && done == 0{rec=$$0; while(getline<fname){if (! ($$0 ~ /^ *$$/)){print}}printf "\n";print rec; active = 0; done = 1; next} //;' \ + CHANGES.tmp > CHANGES ; \ + rm CHANGES.tmp ; \ + if [ -n "$(SVN)" ] ; then \ + if ! $(SVN) rm $$i 2>/dev/null ; then \ + $(RM) $$i ; \ + fi ; \ + else \ + $(RM) $$i ; \ + fi ; \ + done ; \ + if [ -n "$(SVN)" ] ; then \ + $(SVN) diff CHANGES ; \ + fi + validate-xml: @if test -d $(top_srcdir)/docs/manual/build; then \ cd $(top_srcdir)/docs/manual/build && ./build.sh validate-xml; \ diff --git a/README.CHANGES b/README.CHANGES new file mode 100644 index 0000000000..ebea59ce4e --- /dev/null +++ b/README.CHANGES @@ -0,0 +1,17 @@ +Changes can be documented in two ways now: Either by directly editing the +CHANGES file like it was done until now or by storing each entry for the +CHANGES file correctly formated in a separate file in the "changes" directory. + +The benefit of the single file per change approach is that it eases backporting +the CHANGES entry to a stable branch as it avoids the frequent merge conflicts +as changes are merged in different orders or not at all in the stable branch. + +In order to keep the current CHANGES file for the users as is there is a new +make target called 'update-changes'. It merges all change files in the changes +directory to the top of the CHANGES file and removes them afterwards. + +This make target can be seen in a similar way as the scripts to update the +documentation files from its xml sources. It can be executed immediately +after the new file in the changes directory has been created / merged +and committed or it can executed later. It should be executed at least before +a release gets tagged. diff --git a/acinclude.m4 b/acinclude.m4 index c8aab9ee62..4ee184b7d3 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -82,6 +82,7 @@ AC_DEFUN([APACHE_GEN_CONFIG_VARS],[ APACHE_SUBST(LIBTOOL) APACHE_SUBST(SHELL) APACHE_SUBST(RSYNC) + APACHE_SUBST(SVN) APACHE_SUBST(MODULE_DIRS) APACHE_SUBST(MODULE_CLEANDIRS) APACHE_SUBST(PORT) diff --git a/configure.in b/configure.in index 60cbf7b7f8..0e81ab5510 100644 --- a/configure.in +++ b/configure.in @@ -408,6 +408,7 @@ dnl ## Check for programs AC_PATH_PROG(RM, rm) AC_PATH_PROG(PKGCONFIG, pkg-config) AC_PATH_PROG(RSYNC, rsync) +AC_PATH_PROG(SVN, svn) AC_PROG_AWK AC_PROG_LN_S AC_CHECK_TOOL(RANLIB, ranlib, true) |