]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Merge r1879822, r1879831, r1879840 from trunk:
authorRuediger Pluem <rpluem@apache.org>
Tue, 15 Sep 2020 07:19:13 +0000 (07:19 +0000)
committerRuediger Pluem <rpluem@apache.org>
Tue, 15 Sep 2020 07:19:13 +0000 (07:19 +0000)
Add a new way to document changes

* Makefile.in: Define the update-changes target to merge the change files
  from the changes directory to the top of the CHANGES file and remove
  them afterwards. If a Subversion binary was found during configure try
  to svn rm them otherwise just delete them.

* configure.in: Search for the Subversion binary.

* acinclude.m4: Set the corresponding Makefile variable for the Subversion
  binary.

* README.CHANGES: New file to document the new approach.

Can we have mercy with people working on case-preserving file systems?

Consider case insensitive filessystems

Consider case insensitive filessystems and thus choose a new non conflicting
name for the directory to store CHANGES entries.

Reviewed by: rpluem, jim, jorton

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1881728 13f79535-47bb-0310-9956-ffa450edef68

Makefile.in
README.CHANGES [new file with mode: 0644]
STATUS
acinclude.m4
configure.in

index 21c76f884ec9d5777338776de6d2e9bee0896d74..db47934946d43ce91d27ffaa069ba13acea73534 100644 (file)
@@ -155,6 +155,26 @@ docs:
            echo '  http://httpd.apache.org/docs-project/docsformat.html'; \
        fi
 
+update-changes:
+       @for i in `find changes-entries -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 (file)
index 0000000..a1d2637
--- /dev/null
@@ -0,0 +1,19 @@
+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-entries
+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-entries 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-entries 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/STATUS b/STATUS
index 51db84537dda7de8e790eab135823abeb2694aca..fce7a85b9b981298f38a9718acb46d0490c097b1 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -154,16 +154,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
      2.4.x patch: http://people.apache.org/~covener/patches/wstunnel-decline.diff
      +1 covener, jim, rpluem
 
- *) Tooling: Add a new way to document changes
-   Trunk version of patch:
-      http://svn.apache.org/r1879822
-      http://svn.apache.org/r1879831
-      http://svn.apache.org/r1879840
-   Backport version for 2.4.x of patch:
-      Trunk version of patch works
-      svn merge -c 1879822,1879831,1879840 ^/httpd/httpd/trunk .
-   +1: rpluem, jim, jorton
-
   *) Slightly speed-up the execution of the test framework.
      Trunk version of patch:
         https://svn.apache.org/r1880500
index 5299e898b6ced9a12c36aaad2cd41b818337b997..d1b31c616556af7faa21cc7b74e67f96c0166856 100644 (file)
@@ -79,6 +79,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)
index f8f9442bad00bd2807e853e66d02ec0bc68de635..a00b8c533a4185f2b4f73e828ceda56bed1e1691 100644 (file)
@@ -372,6 +372,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)