You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2022/01/14 14:01:51 UTC

svn commit: r1897034 [2/37] - in /subversion/branches/multi-wc-format: ./ build/ build/ac-macros/ build/generator/ build/generator/swig/ build/generator/templates/ contrib/client-side/ contrib/client-side/svn_load_dirs/ contrib/hook-scripts/ contrib/se...

Modified: subversion/branches/multi-wc-format/COMMITTERS
URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/COMMITTERS?rev=1897034&r1=1897033&r2=1897034&view=diff
==============================================================================
--- subversion/branches/multi-wc-format/COMMITTERS [UTF-8] (original)
+++ subversion/branches/multi-wc-format/COMMITTERS [UTF-8] Fri Jan 14 14:01:45 2022
@@ -18,7 +18,7 @@ Blanket commit access:
        ghudson   Greg Hudson <gh...@mit.edu>
           fitz   Brian W. Fitzpatrick <fi...@red-bean.com>
         daniel   Daniel Stenberg <da...@haxx.se>
-      cmpilato   C. Michael Pilato <cm...@collab.net>
+      cmpilato   C. Michael Pilato <cm...@apache.org>
         philip   Philip Martin <ph...@apache.org>
    jerenkrantz   Justin Erenkrantz <ju...@erenkrantz.com>
         rooneg   Garrett Rooney <ro...@electricjellyfish.net>
@@ -41,7 +41,7 @@ Blanket commit access:
        hwright   Hyrum Wright <hy...@hyrumwright.org>
     vgeorgescu   Vlad Georgescu <vg...@gmail.com>
        kameshj   Kamesh Jayachandran <ka...@gmail.com>
-      markphip   Mark Phippard <mp...@collab.net>
+      markphip   Mark Phippard <ma...@gmail.com>
       arfrever   Arfrever Frehtes Taifersar Arahesis <ar...@gmail.com>
           stsp   Stefan Sperling <st...@elego.de>
            kou   Kouhei Sutou <ko...@cozmixng.org>
@@ -61,6 +61,11 @@ Blanket commit access:
       astieger   Andreas Stieger <an...@gmx.de>
       jamessan   James McCoy <ja...@jamessan.com>
       luke1410   Stefan Hett <lu...@posteo.de>
+  troycurtisjr   Troy Curtis, Jr <tr...@gmail.com>
+ hartmannathan   Nathan Hartman <ha...@gmail.com>
+      futatuki   Yasuhito Futatsuki <fu...@yf.bsdclub.org>
+       jun66j5   Jun Omae <ju...@gmail.com>
+     dsahlberg   Daniel Sahlberg <da...@gmail.com>
 
 [[END ACTIVE FULL COMMITTERS.  LEAVE THIS LINE HERE; SCRIPTS LOOK FOR IT.]]
 
@@ -104,7 +109,7 @@ Commit access for specific areas:
        rschupp   Roderich Schupp <ro...@gmail.com> (Swig bindings)
         stilor   Alexey Neyman <st...@att.net>              (Python bindings,
                                                              svn-vendor.py)
-  troycurtisjr   Troy Curtis, Jr <tr...@gmail.com>    (Swig bindings)
+ amiloslavskiy   Alexandr Miloslavskiy <am...@apache.org> (JavaHL bindings)
 
   Packages:
 

Modified: subversion/branches/multi-wc-format/INSTALL
URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/INSTALL?rev=1897034&r1=1897033&r2=1897034&view=diff
==============================================================================
--- subversion/branches/multi-wc-format/INSTALL (original)
+++ subversion/branches/multi-wc-format/INSTALL Fri Jan 14 14:01:45 2022
@@ -23,8 +23,8 @@ Contents:
 
    III. BUILDING A SUBVERSION SERVER
        A. Setting Up Apache Httpd
-       B. Making and Installing the Subversion Server
-       C. Configuring Apache for Subversion
+       B. Making and Installing the Subversion Apache Server Module
+       C. Configuring Apache Httpd for Subversion
        D. Running and Testing
        E. Alternative:  'svnserve' and ra_svn
 
@@ -96,6 +96,11 @@ I.    INTRODUCTION
          These diff streams are used everywhere -- over the network,
          in the repository, and in the client's working copy.
 
+      * utf8proc  (REQUIRED for client and server)
+      
+         Subversion uses utf8proc for UTF-8 support, including Unicode
+         normalization.
+
       * Apache Serf  (OPTIONAL for client)
 
          The Apache Serf library allows the Subversion client to send HTTP
@@ -116,21 +121,21 @@ I.    INTRODUCTION
 
       * Netwide Assembler (OPTIONAL for client and server)
 
-        The Netwide Assembler (NASM) is used to build the (optionally)
+        The Netwide Assembler (NASM) is used to build the (optional)
         assembler modules of OpenSSL.  As of OpenSSL 1.1.0 NASM is the
         only supported assembler.
 
-      * Berkeley DB (OPTIONAL for client and server)
+      * Berkeley DB (DEPRECATED and OPTIONAL for client and server)
 
-         There are two different repository 'back-end'
-         implementations.  One implementation stores data in a flat
-         filesystem (known as FSFS); the other implementation stores
-         data in a Berkeley DB database (known as BDB).  When you
-         create a repository, you have the option of specifying a
-         storage back-end.  The Berkeley DB back-end will only be
-         available if the BDB libraries are discovered at compile
-         time.  The Berkeley DB back-end has been deprecated and
-         is not recommend.
+         When you create a repository, you have the option of
+         specifying a storage 'back-end' implementation.  Currently,
+         there are two options.  The newer and recommended one, known
+         as FSFS, does not require Berkeley DB.  FSFS stores data in a
+         flat filesystem.  The older implementation, known as BDB, has
+         been deprecated and is not recommended for new repositories,
+         but is still available.  BDB stores data in a Berkeley DB
+         database.  This back-end will only be available if the BDB
+         libraries are discovered at compile time.
 
       * libsasl (OPTIONAL for client and server)
 
@@ -147,6 +152,11 @@ I.    INTRODUCTION
          for other languages, you need to have those languages
          available at build time.
 
+      * py3c (OPTIONAL, but REQUIRED for Python bindings)
+
+        The Python 3 Compatibility Layer for C Extensions is required
+        to build the Python language bindings.
+
       * KDE Framework 5, libsecret, GNOME Keyring (OPTIONAL for client)
 
          Subversion contains optional support for storing passwords in
@@ -161,10 +171,6 @@ I.    INTRODUCTION
          configured via auto-props or the mime-types-file option
          take precedence.
 
-      * Googlemock aka Gmock (OPTIONAL)
-
-         This optional package is used by the tests for Subversions'
-         C++ bindings.
 
 
   C. Dependencies in Detail
@@ -200,7 +206,7 @@ I.    INTRODUCTION
       commands described in section II.B before installing the following.
 
 
-      1.  Apache Portable Runtime 1.3 or newer  (REQUIRED)
+      1.  Apache Portable Runtime 1.4 or newer  (REQUIRED)
 
       Whenever you want to build any part of Subversion, you need the
       Apache Portable Runtime (APR) and the APR Utility (APR-util)
@@ -254,22 +260,55 @@ I.    INTRODUCTION
       configure script.
 
 
-      2. Zlib  (REQUIRED)
+      2.  SQLite  (REQUIRED)
+
+      Subversion requires SQLite version 3.8.2 or above.  You can meet this
+      dependency several ways:
+        * Use an SQLite amalgamation file.
+        * Specify an SQLite installation to use.
+        * Let Subversion find an installed SQLite.
+
+      To use an SQLite-provided amalgamation, just drop sqlite3.c into
+      Subversion's sqlite-amalgamation/ directory, or point to it with the
+      --with-sqlite configure option.  This file also ships with the Subversion
+      dependencies distribution, or you can download it from SQLite:
+
+          https://www.sqlite.org/download.html
+
+
+      3.  Zlib  (REQUIRED)
+
+      Subversion's binary-differencing engine depends on zlib for
+      compression.  Most Unix systems have libz pre-installed, but if
+      you need it, you can get it from
+
+          http://www.zlib.net/
+
+
+      4.  utf8proc  (REQUIRED)
 
-         Subversion's binary-differencing engine depends on zlib for
-         compression.   Most Unix systems have libz pre-installed, but
-         if you need it, you can get it from
+      Subversion uses utf8proc for UTF-8 support.  Configure will
+      attempt to locate utf8proc by default using pkg-config and known
+      paths.
 
-            http://www.zlib.net/
+      If it is installed in a non-standard location, then use:
+
+        --with-utf8proc=/path/to/libutf8proc
+
+      Alternatively, a copy of utf8proc comes bundled with the
+      Subversion sources.  If configure should use the bundled copy,
+      use:
 
+        --with-utf8proc=internal
 
-      3.  autoconf 2.59 or newer (Unix only)
+
+      5.  autoconf 2.59 or newer (Unix only)
 
       This is required only if you plan to build from the latest source
       (see section II.B). Generally only developers would be doing this.
 
 
-      4.  libtool 1.4 or newer (Unix only)
+      6.  libtool 1.4 or newer (Unix only)
 
       This is required only if you plan to build from the latest source
       (see section II.B).
@@ -278,7 +317,7 @@ I.    INTRODUCTION
       newer. The autogen.sh script knows about that.
 
 
-      5.  Apache Serf library 1.3.4 or newer (OPTIONAL)
+      7.  Apache Serf library 1.3.4 or newer (OPTIONAL)
 
       If you want your client to be able to speak to an Apache
       server (via a http:// or https:// URL), you must link against
@@ -293,12 +332,13 @@ I.    INTRODUCTION
       instead.
 
       Apache Serf can be obtained via your system's package distribution
-      system or directly from http://code.google.com/p/serf/.
+      system or directly from https://serf.apache.org/.
 
       For more information on Apache Serf and Subversion's ra_serf, see the
       file subversion/libsvn_ra_serf/README.
 
-      6. OpenSSL  (OPTIONAL)
+
+      8.  OpenSSL  (OPTIONAL)
 
       ### needs some updates. I think Apache Serf automagically handles
       ### finding OpenSSL, but we may need more docco here. and w.r.t
@@ -344,17 +384,25 @@ I.    INTRODUCTION
           https://www.openssl.org/
 
 
-      7.  Berkeley DB 4.X  (OPTIONAL)
+      9.  Berkeley DB 4.X  (DEPRECATED and OPTIONAL)
 
-      Berkeley DB is needed to build a Subversion server that supports
-      the BDB repository filesystem, or to access a BDB repository on
-      local disk.  If you will only use the FSFS repository filesystem,
-      or if you are building a Subversion client that will only speak
-      to remote (networked) repositories, you don't need it.
-
-      The current recommended version is 4.4.20 or newer, which brings
-      auto-recovery functionality to the Berkeley DB database
-      environment.
+      You need the Berkeley DB libraries only if you are building a
+      Subversion server that supports the older BDB repository storage
+      back-end, or a Subversion client that can access local BDB
+      repositories via the file:// URI scheme.
+
+      The BDB back-end has been deprecated and is not recommended for
+      new repositories.  BDB may be removed in Subversion 2.0.  We
+      recommend the newer FSFS back-end for all new repositories.
+      FSFS does not require the Berkeley DB libraries.
+
+      If in doubt, the 'svnadmin info' command, added in Subversion
+      1.9, can identify whether an existing repository uses BDB or
+      FSFS.
+
+      The current recommended version of Berkeley DB is 4.4.20 or
+      newer, which brings auto-recovery functionality to the Berkeley
+      DB database environment.
 
       If you must use an older version of Berkeley DB, we *strongly*
       recommend using 4.3 or 4.2 over the 4.1 or 4.0 versions.  Not
@@ -387,7 +435,7 @@ I.    INTRODUCTION
       Look in the "Releases > Windows > Windows BDB" section.
 
 
-      8.  Cyrus SASL library (OPTIONAL)
+      10. Cyrus SASL library (OPTIONAL)
 
       If the Simple Authentication and Security Layer (SASL) library
       is detected on your system, then the Subversion client and
@@ -398,7 +446,7 @@ I.    INTRODUCTION
          http://freshmeat.net/projects/cyrussasl/
 
 
-      9.  Apache Web Server 2.2.X or newer  (OPTIONAL)
+      11. Apache Web Server 2.2.X or newer  (OPTIONAL)
 
           (https://httpd.apache.org/download.cgi)
 
@@ -411,60 +459,87 @@ I.    INTRODUCTION
       is done: See section III for details.
 
 
-      10.  Python 2.7 or newer (https://www.python.org/)  (OPTIONAL)
+      12. Python 3.x or newer (https://www.python.org/)  (OPTIONAL)
 
-      If you want to run "make check" or build from the latest source
-      under Unix/Windows as described in section II.B, II.E and III.D,
-      install Python 2.7 or higher on your system. The majority of the
-      test suite is written in Python, as is part of Subversion's build
-      system.
+      Subversion does not require Python for its basic operation.
+      However, Python is required for building and testing Subversion
+      and for using Subversion's SWIG Python bindings or hook scripts
+      coded in Python.
+
+      The majority of Subversion's test suite is written in Python, as
+      is part of Subversion's build system.
+
+      In more detail, Python is required to do any of the following:
+
+      * Use the SWIG Python bindings.
+      * Use the ctypes Python bindings.
+      * Use hook scripts coded in Python.
+      * Build Subversion from a tarball on Unix-like systems and run
+        Subversion's test suite as described in section II.B.
+      * Build Subversion on Windows as described in section II.E.
+      * Build Subversion from a working copy checked out from
+        Subversion's own repository (whether or not running the test
+        suite).
+      * Build the SWIG Python bindings.
+      * Build the ctypes Python bindings.
+      * Testing as described in section III.D.
+
+      The Python bindings are used by:
+
+      * Third-party programs (e.g., ViewVC)
+      * Scripts distributed with Subversion itself in the tools/
+        subdirectory.
+      * Any in-house scripts you may have.
+
+      Python is NOT required to do any of the following:
+
+      * Use the core command-line binaries (svn, svnadmin, svnsync,
+        etc.)
+      * Use Subversion's C libraries.
+      * Use any of Subversion's other language bindings.
+      * Build Subversion from a tarball on Unix-like systems without
+        running Subversion's test suite
+
+      Although this section calls for Python 3.x, Subversion still
+      technically works with Python 2.7.  However, Support for Python
+      2.7 is being phased out.  As of 1 January 2020, Python 2.7 has
+      reached end of life.  All users are strongly encouraged to move
+      to Python 3.
+
+      Note: If you are using a Subversion distribution tarball and want
+      to build the Python bindings for Python 2, you should rebuild
+      the build environment in non-release mode by running
+      'sh autogen.sh' before running the ./configure script; see
+      section II.B for more about autogen.sh.
 
-      Note that Python 3.x is not supported and most likely won't work.
 
-
-      11. Perl 5.8 or newer (Windows only)  (OPTIONAL)
+      13. Perl 5.8 or newer (Windows only)  (OPTIONAL)
 
       To build Subversion under any of the MS Windows platforms, you
       will also need Perl 5.8 or newer to run apr-util's w32locatedb.pl
       script.
 
 
-      12. SQLite  (REQUIRED)
-
-      Subversion requires SQLite version 3.8.2 or above.  You can meet this
-      dependency several ways:
-        * Use an SQLite amalgamation file.
-        * Specify an SQLite installation to use.
-        * Let Subversion find an installed SQLite.
-
-      To use an SQLite-provided amalgamation, just drop sqlite3.c into
-      Subversion's sqlite-amalgamation/ directory, or point to it with the
-      --with-sqlite configure option.  This file also ships with the Subversion
-      dependencies distribution, or you can download it from SQLite:
-
-          https://www.sqlite.org/download.html
-
-
-      13. pkg-config  (Unix only, OPTIONAL)
+      14. pkg-config  (Unix only, OPTIONAL)
 
       Subversion uses pkg-config to find appropriate options used
       at build time.
 
 
-      14. D-Bus  (Unix only, OPTIONAL)
+      15. D-Bus  (Unix only, OPTIONAL)
 
       D-Bus is a message bus system. D-Bus is required for support for KWallet
       and GNOME Keyring. pkg-config is needed to find D-Bus headers and library.
 
 
-      15. Qt 5 or Qt 4  (Unix only, OPTIONAL)
+      16. Qt 5 or Qt 4  (Unix only, OPTIONAL)
 
       Qt is a cross-platform application framework. QtCore, QtDBus and QtGui
       modules are required for support for KWallet. pkg-config is needed
       to find Qt headers and libraries.
 
 
-      16. KDE 5 Framework libraries or KDELibs 4  (Unix only, OPTIONAL)
+      17. KDE 5 Framework libraries or KDELibs 4  (Unix only, OPTIONAL)
 
       Subversion contains optional support for storing passwords in KWallet.
       Subversion will look for KF5Wallet, KF5CoreAddons, KF5I18n APIs by default,
@@ -479,13 +554,14 @@ I.    INTRODUCTION
 
           --with-kwallet=/path/to/KDE/prefix
 
-      17. GLib 2  (Unix only, OPTIONAL)
+
+      18. GLib 2  (Unix only, OPTIONAL)
 
       GLib is a general-purpose utility library. GLib is required for support
       for GNOME Keyring. pkg-config is needed to find GLib headers and library.
 
 
-      18. GNOME Keyring  (Unix only, OPTIONAL)
+      19. GNOME Keyring  (Unix only, OPTIONAL)
 
       Subversion contains optional support for storing passwords in GNOME Keyring.
       pkg-config is needed to find GNOME Keyring headers and library. D-Bus and
@@ -493,7 +569,7 @@ I.    INTRODUCTION
       then pass the '--with-gnome-keyring' option to `configure`.
 
 
-      19. Ctypesgen  (OPTIONAL)
+      20. Ctypesgen  (OPTIONAL)
 
       Ctypesgen is Python wrapper generator for ctypes. It is used to generate
       a part of Subversion Ctypes Python bindings (CSVN). If you want to build
@@ -504,7 +580,8 @@ I.    INTRODUCTION
 
       For more information on CSVN, see subversion/bindings/ctypes-python/README.
 
-      20. libmagic (OPTIONAL)
+
+      21. libmagic (OPTIONAL)
 
       Subversion's configure script attempts to find libmagic automatically.
       If it is installed in a non-standard location, then use:
@@ -525,15 +602,10 @@ I.    INTRODUCTION
 
         --with-libmagic
 
-      21. Googlemock (OPTIONAL)
-
-      Googlemock can be installed and built in-tree by invoking
-
-      $ ./get-dep.sh gmock
 
       22. LZ4 (OPTIONAL)
 
-      Subversion uses LZ4 compression libary version r129 or above. Configure
+      Subversion uses LZ4 compression library version r129 or above. Configure
       will attempt to locate the system library by default using pkg-config
       and known paths.
 
@@ -544,6 +616,32 @@ I.    INTRODUCTION
       If configure should use the version bundled with the sources, use:
         --with-lz4=internal
 
+
+      23. py3c (OPTIONAL)
+
+      Subversion uses the Python 3 Compatibility Layer for C
+      Extensions (py3c) library when building the Python language
+      bindings.
+      
+      As py3c is a header-only library, it is needed only to build the
+      bindings, not to use them.
+
+      Configure will attempt to locate py3c by default using
+      pkg-config and known paths.
+
+      If it is installed in a non-standard location, then use:
+
+          --with-py3c=/path/to/py3c/prefix
+
+      The library can be downloaded from GitHub:
+
+          https://github.com/encukou/py3c
+      
+      On Unix systems, you can also use the provided get-deps.sh
+      script to download py3c and several other dependencies; see the
+      top of section I.C for more about get-deps.sh.
+
+
   D. Documentation
 
       The primary documentation for Subversion is the free book
@@ -735,13 +833,12 @@ II.   INSTALLATION
         Edition). Make sure you enable C++ support during setup.
       * Python 2.7 or higher, downloaded from https://www.python.org/ which is
         used to generate the project files.
-        Note that Python 3.x is not supported (yet).
       * Perl 5.8 or higher from https://www.perl.org/get.html
       * Awk (from https://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe) is
         needed to compile Apache.  Note that this is the actual awk program,
         not an installer - just rename it to awk.exe and it is ready to use.
       * Apache apr, apr-util, and optionally apr-iconv libraries, version
-        1.3 or later (1.2 for apr-iconv). If you are building from a Subversion
+        1.4 or later (1.2 for apr-iconv). If you are building from a Subversion
         checkout and have not downloaded Apache 2, then get these 3 libraries
         from https://www.apache.org/dist/apr/.
       * SQLite 3.8.2 or higher from https://www.sqlite.org/download.html
@@ -922,7 +1019,7 @@ II.   INSTALLATION
       C:>nmake -f Makefile.win
       C:>nmake -f Makefile.win install
 
-      Please refere to the build instructions provided by the library source
+      Please refer to the build instructions provided by the library source
       for actual build instructions.
 
       ZLib
@@ -931,12 +1028,18 @@ II.   INSTALLATION
       Building ZLib using Visual Studio should be quite simple. Just open the
       appropriate solution and build the project zlibstat using the IDE.
 
-      Please refere to the build instructions provided by the library source
+      Please refer to the build instructions provided by the library source
       for actual build instructions.
 
       Note that you'd make sure to define ZLIB_WINAPI in the ZLib config
       header and move the lib-file into the zlib root-directory.
 
+      Please note that you MUST NOT build ZLib with the included assembler
+      optimized code. It is known to be buggy, see for example the discussion
+      https://svn.haxx.se/dev/archive-2013-10/0109.shtml.
+      This means that you must not define ASMV or ASMINF. Note that the VS
+      projects in contrib\visualstudio define these in the Debug configuration.
+
       Apache Serf
 
       ### Section about Apache Serf might be required/useful to add.
@@ -1348,7 +1451,7 @@ IV.   PLATFORM-SPECIFIC ISSUES
 
       And there's an item about this in the Subversion FAQ:
 
-          https://subversion.apache.org/faq.html#windows-xp-server
+      https://subversion.apache.org/faq.html#windows-xp-server
 
       The only known workaround for now is to update to Windows XP
       SP1 (or higher).

Modified: subversion/branches/multi-wc-format/LICENSE
URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/LICENSE?rev=1897034&r1=1897033&r2=1897034&view=diff
==============================================================================
--- subversion/branches/multi-wc-format/LICENSE (original)
+++ subversion/branches/multi-wc-format/LICENSE Fri Jan 14 14:01:45 2022
@@ -423,3 +423,24 @@ For the (modified) LZ4 library files in
   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
   THE POSSIBILITY OF SUCH DAMAGE.
+
+For the Autoconf Archive macros for Boost:
+
+ * in build/ac-macros/ax_boost_base.m4:
+
+   Copyright (c) 2008 Thomas Porschberg <th...@randspringer.de>
+   Copyright (c) 2009 Peter Adolphs
+
+   Copying and distribution of this file, with or without modification, are
+   permitted in any medium without royalty provided the copyright notice
+   and this notice are preserved. This file is offered as-is, without any
+   warranty.
+
+ * in build/ac-macros/ax_boost_unit_test_framework.m4:
+
+   Copyright (c) 2008 Thomas Porschberg <th...@randspringer.de>
+
+   Copying and distribution of this file, with or without modification, are
+   permitted in any medium without royalty provided the copyright notice
+   and this notice are preserved. This file is offered as-is, without any
+   warranty.

Modified: subversion/branches/multi-wc-format/Makefile.in
URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/Makefile.in?rev=1897034&r1=1897033&r2=1897034&view=diff
==============================================================================
--- subversion/branches/multi-wc-format/Makefile.in (original)
+++ subversion/branches/multi-wc-format/Makefile.in Fri Jan 14 14:01:45 2022
@@ -56,6 +56,8 @@ SVN_XML_LIBS = @SVN_XML_LIBS@
 SVN_ZLIB_LIBS = @SVN_ZLIB_LIBS@
 SVN_LZ4_LIBS = @SVN_LZ4_LIBS@
 SVN_UTF8PROC_LIBS = @SVN_UTF8PROC_LIBS@
+SVN_MACOS_PLIST_LIBS = @SVN_MACOS_PLIST_LIBS@
+SVN_MACOS_KEYCHAIN_LIBS = @SVN_MACOS_KEYCHAIN_LIBS@
 
 LIBS = @LIBS@
 
@@ -78,6 +80,9 @@ datadir = @datadir@
 datarootdir = @datarootdir@
 localedir = @localedir@
 
+# where to install SVN++
+svnxx_libdir = @libdir@
+
 # where to install libsvn_swig_*
 swig_py_libdir = @libdir@
 swig_pl_libdir = @libdir@
@@ -139,16 +144,17 @@ APACHE_INCLUDES = @APACHE_INCLUDES@
 APACHE_LIBEXECDIR = $(DESTDIR)@APACHE_LIBEXECDIR@
 APACHE_LDFLAGS = @APACHE_LDFLAGS@
 
-SVN_USE_GOOGLEMOCK = @SVN_USE_GOOGLEMOCK@
-GOOGLEMOCK_INCLUDES = -I@GOOGLEMOCK_SRCDIR@/googlemock/include -I@GOOGLEMOCK_SRCDIR@/googletest/include
-GOOGLEMOCK_LIB_INCLUDES = -I@GOOGLEMOCK_SRCDIR@/googlemock -I@GOOGLEMOCK_SRCDIR@/googletest $(GOOGLEMOCK_INCLUDES)
+BOOST_TEST_CPPFLAGS = @BOOST_CPPFLAGS@ -DBOOST_TEST_DYN_LINK -DBOOST_TEST_NO_MAIN
+BOOST_TEST_LDFLAGS = @BOOST_LDFLAGS@ @BOOST_UNIT_TEST_FRAMEWORK_LIB@
 
 SWIG = @SWIG@
-SWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ -I$(SWIG_SRC_DIR)/python/libsvn_swig_py
+SWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ @SVN_PY3C_INCLUDES@ -I$(SWIG_SRC_DIR)/python/libsvn_swig_py
 SWIG_PY_COMPILE = @SWIG_PY_COMPILE@
 SWIG_PY_LINK = @SWIG_PY_LINK@
 SWIG_PY_LIBS = @SWIG_PY_LIBS@
+SWIG_PY_ERRMSG = @SWIG_PY_ERRMSG@
 SWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@
+SWIG_PL_ERRMSG = @SWIG_PL_ERRMSG@
 SWIG_RB_INCLUDES = @SWIG_RB_INCLUDES@ -I$(SWIG_SRC_DIR)/ruby/libsvn_swig_ruby
 SWIG_RB_COMPILE = @SWIG_RB_COMPILE@
 SWIG_RB_LINK = @SWIG_RB_LINK@
@@ -157,6 +163,7 @@ SWIG_RB_SITE_LIB_DIR = @SWIG_RB_SITE_LIB
 SWIG_RB_SITE_ARCH_DIR = @SWIG_RB_SITE_ARCH_DIR@
 SWIG_RB_TEST_VERBOSE = @SWIG_RB_TEST_VERBOSE@
 SWIG_RB_RI_DATADIR = $(DESTDIR)$(datadir)/ri/$(RUBY_MAJOR).$(RUBY_MINOR)/site
+SWIG_RB_ERRMSG = @SWIG_RB_ERRMSG@
 
 CTYPESGEN = @CTYPESGEN@
 CTYPES_PYTHON_SRC_DIR = $(abs_srcdir)/subversion/bindings/ctypes-python
@@ -164,7 +171,9 @@ CTYPES_PYTHON_SRC_DIR = $(abs_srcdir)/su
 JAVAHL_JAR=subversion/bindings/javahl/svn-javahl.jar
 JAVAHL_INCLUDES= @JNI_INCLUDES@ -I$(abs_builddir)/subversion/bindings/javahl/include
 
-CXXHL_INCLUDES = -I$(abs_srcdir)/subversion/bindings/cxxhl/include
+SVN_BUILD_SVNXX = @SVN_BUILD_SVNXX@
+SVN_BUILD_SVNXX_TESTS = @SVN_BUILD_SVNXX_TESTS@
+SVNXX_INCLUDES = -I$(abs_srcdir)/subversion/bindings/cxx/include
 
 SVN_APR_CONFIG = @SVN_APR_CONFIG@
 SVN_APR_INCLUDES = @SVN_APR_INCLUDES@
@@ -194,6 +203,7 @@ SWIG_FEATURES = @SWIG_FEATURES@
 SWIG_PY_FEATURES = @SWIG_PY_FEATURES@
 SWIG_PL_FEATURES = @SWIG_PL_FEATURES@
 SWIG_RB_FEATURES = @SWIG_RB_FEATURES@
+SWIG_PY_OPTS = @SWIG_PY_OPTS@
 
 COMPILE = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CMAINTAINERFLAGS) $(CFLAGS) $(INCLUDES)
 COMPILE_NOWARN = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CNOWARNFLAGS) $(CFLAGS) $(INCLUDES)
@@ -258,15 +268,15 @@ TEST_SHLIB_VAR_SWIG_RB=\
     export @SVN_APR_SHLIB_PATH_VAR@; \
   fi;
 
-# special compilation for files destined for cxxhl
-COMPILE_CXXHL_CXX = $(LT_COMPILE_CXX) $(CXXHL_INCLUDES) -o $@ -c
-COMPILE_GOOGLEMOCK_CXX = $(LT_COMPILE_CXX_NOWARN) $(GOOGLEMOCK_LIB_INCLUDES) -o $@ -c
-COMPILE_CXXHL_GOOGLEMOCK_CXX = $(LT_COMPILE_CXX) $(CXXHL_INCLUDES) $(GOOGLEMOCK_INCLUDES) -o $@ -c
+# special compilation for files destined for SVN++
+COMPILE_SVNXX = $(LT_COMPILE_CXX) $(SVNXX_INCLUDES) -o $@ -c
+COMPILE_SVNXX_TEST = $(LT_COMPILE_CXX) $(SVNXX_INCLUDES) $(BOOST_TEST_CPPFLAGS) -o $@ -c
 
 LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
 LINK_LIB = $(LINK) $(LT_SO_VERSION)
 LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
 LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
+LINK_SVNXX_TEST = $(LINK_CXX) $(BOOST_TEST_LDFLAGS)
 
 # special link rule for mod_dav_svn
 LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS) -shared
@@ -320,6 +330,8 @@ INSTALL_DATA = $(INSTALL) -m 644
 INSTALL_LOCALE = $(INSTALL_DATA)
 INSTALL_APACHE_MODS = @INSTALL_APACHE_MODS@
 
+INSTALL_SVNXX_LIB = $(INSTALL_LIB)
+
 ### this isn't correct yet
 INSTALL_SWIG_PY = $(INSTALL_LIB)
 INSTALL_SWIG_PY_LIB = $(INSTALL_LIB)
@@ -344,7 +356,7 @@ INSTALL_EXTRA_SWIG_PY=\
       $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \
     done; \
   fi; \
-  $(PYTHON) -c 'import compileall; \
+  $(SWIG_PY_PYTHON) -c 'import compileall; \
     compileall.compile_dir("$(DESTDIR)$(swig_pydir)", 1, "$(swig_pydir)"); \
     compileall.compile_dir("$(DESTDIR)$(swig_pydir_extra)", 1, \
     "$(swig_pydir_extra)");'
@@ -384,7 +396,8 @@ HTTPD_VERSION = @HTTPD_VERSION@
 HTTPD_WHITELIST = @HTTPD_WHITELIST@
 
 PYTHON = @PYTHON@
-PERL = @PERL@
+SWIG_PY_PYTHON = @SWIG_PY_PYTHON@
+SWIG_PL_PERL = @SWIG_PL_PERL@
 
 JDK = @JDK@
 JAVA = @JAVA@
@@ -400,7 +413,7 @@ javahl_compat_CLASSPATH=$(JAVA_CLASSPATH
 javahl_tests_CLASSPATH=$(JAVA_CLASSPATH)
 javahl_compat_tests_CLASSPATH=$(JAVA_CLASSPATH)
 
-RUBY = @RUBY@
+SWIG_RB_RUBY = @SWIG_RB_RUBY@
 RUBY_MAJOR = @RUBY_MAJOR@
 RUBY_MINOR = @RUBY_MINOR@
 RDOC = @RDOC@
@@ -443,9 +456,12 @@ fast-clean: doc-clean
           fi                                                         \
         done
 	echo $(CLEAN_FILES) | xargs rm -f --
-	find $(CTYPES_PYTHON_SRC_DIR) $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) \
-		$(abs_srcdir)/build $(top_srcdir)/subversion/tests/cmdline/svntest \
-		-name "*.pyc" -exec rm {} ';'
+	for d in $(CTYPES_PYTHON_SRC_DIR) $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) \
+		$(abs_srcdir)/build $(top_srcdir)/subversion/tests/cmdline/svntest; \
+	do \
+	  test -e $$d || continue; \
+	  find $$d -name "*.pyc" -exec rm {} ';'; \
+	done
 
 # clean everything, returning to before './configure' was run.
 SVN_CONFIG_SCRIPT_FILES = @SVN_CONFIG_SCRIPT_FILES@
@@ -462,6 +478,7 @@ local-distclean: local-clean
 local-extraclean: extraclean-bindings local-distclean
 	rm -f $(top_srcdir)/build-outputs.mk \
               $(top_srcdir)/subversion/svn_private_config.h.in \
+              $(top_srcdir)/aclocal.m4 \
               $(top_srcdir)/configure \
               $(top_srcdir)/gen-make.opts \
               $(top_srcdir)/build/config.guess \
@@ -524,6 +541,9 @@ check-javahl: check-apache-javahl
 
 check-all-javahl: check-apache-javahl check-tigris-javahl check-deprecated-authn-javahl
 
+check-svnxx: svnxx-tests
+	$(abs_builddir)/$(svnxx_tests_PATH)/svnxx-tests$(EXEEXT)
+
 # "make check CLEANUP=true" will clean up directories for successful tests.
 # "make check TESTS=subversion/tests/cmdline/basic_tests.py"
 #  will perform only basic tests (likewise for other tests).
@@ -599,6 +619,9 @@ check: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $
 	  if test "$(FSFS_DIR_DELTIFICATION)" != ""; then                    \
 	    flags="--fsfs-dir-deltification $(FSFS_DIR_DELTIFICATION) $$flags";\
 	  fi;                                                                \
+	  if test "$(ALLOW_REMOTE_HTTP_CONNECTION)" != ""; then              \
+	    flags="--allow-remote-http-connection $$flags";                  \
+	  fi;                                                                \
 	  if test "$(SVN_BIN_DIR)" != ""; then                               \
 	    flags="--bin $(SVN_BIN_DIR) $$flags";                            \
 	  fi;                                                                \
@@ -615,12 +638,12 @@ check: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $
 
 # First, set up Apache as documented in
 # subversion/tests/cmdline/README.
-davcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod
+davcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod mod_dontdothat
 	@$(MAKE) check BASE_URL=http://localhost
 
 # Automatically configure and run Apache httpd on a random port, and then
 # run make check.
-davautocheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod
+davautocheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod mod_dontdothat
 	@# Takes MODULE_PATH, USE_HTTPV1 and SVN_PATH_AUTHZ in the environment.
 	@APXS=$(APXS) MAKE=$(MAKE) $(SHELL) $(top_srcdir)/subversion/tests/cmdline/davautocheck.sh
 
@@ -672,7 +695,7 @@ gcov-reset:
 gcov-clean:
 	rm -f gcov-lcov.dat gcov-lcov.log gcov-genhtml.log
 	rm -rf gcov-report
-	find . -name "*.gcda" -o -name "*.gcno" -exec rm -f -- {} \;
+	find . \( -name "*.gcda" -o -name "*.gcno" \) -exec rm -f -- {} \;
 
 check-clean: gcov-clean
 	if [ -d subversion/tests/cmdline/svn-test-work ]; then \
@@ -692,7 +715,8 @@ check-clean: gcov-clean
 	       subversion/tests/libsvn_diff/T1                 \
 	       subversion/tests/libsvn_diff/T2                 \
 	       subversion/tests/libsvn_diff/T3                 \
-	       subversion/tests/svnserveautocheck.pid          \
+	       subversion/tests/cmdline/httpd-*                \
+	       subversion/tests/cmdline/svnserve-*             \
 	       tests.log fails.log
 
 mkdir-init:
@@ -719,7 +743,7 @@ doc-api: mkdir-init
 doc-javahl:
 	$(JAVADOC) -d $(abs_builddir)/doc/javadoc \
 	  -sourcepath $(top_srcdir)/subversion/bindings/javahl/src \
-	  -link http://java.sun.com/javase/6/docs/api/ \
+	  -link https://docs.oracle.com/en/java/javase/11/docs/api/ \
 	  org.tigris.subversion.javahl \
 	  org.apache.subversion.javahl \
 	  org.apache.subversion.javahl.callback \
@@ -862,13 +886,13 @@ $(SWIG_PL_DIR)/native/Makefile.PL: $(SWI
 	./config.status subversion/bindings/swig/perl/native/Makefile.PL
 
 $(SWIG_PL_DIR)/native/Makefile: libsvn_swig_perl $(SWIG_PL_DIR)/native/Makefile.PL
-	cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL PREFIX=$(prefix)
+	cd $(SWIG_PL_DIR)/native; $(SWIG_PL_PERL) Makefile.PL PREFIX=$(prefix)
 
 # There is a "readlink -f" command on some systems for the same purpose,
 # but it's not as portable (e.g. Mac OS X doesn't have it).  These should
 # only be used where Python/Perl are known to be available.
 READLINK_PY=$(PYTHON) -c 'import sys,os; print(os.path.realpath(sys.argv[1]))'
-READLINK_PL=$(PERL) -e 'use Cwd; print Cwd::realpath(shift)'
+READLINK_PL=$(SWIG_PL_PERL) -e 'use Cwd; print Cwd::realpath(shift)'
 
 swig-pl: autogen-swig-pl $(SWIG_PL_DIR)/native/Makefile
 	if test "`$(READLINK_PL) $(SWIG_PL_DIR)`" != "`$(READLINK_PL) $(SWIG_PL_SRC_DIR)`"; then \
@@ -893,12 +917,13 @@ EXTRACLEAN_SWIG_PL=rm -f $(SWIG_PL_SRC_D
 # Makefile does not exist, DO NOT try to make it. But, if it doesn't exist,
 # then the directory is probably clean anyway.
 clean-swig-pl:
+	rm -f .swig_pl_checked
 	if test -z "$(RELEASE_MODE)"; then \
 	  $(EXTRACLEAN_SWIG_PL); \
 	fi
 	for d in $(SWIG_PL_DIR)/libsvn_swig_perl; \
 	do \
-	  cd $$d; \
+	  test -e $$d && cd $$d || continue; \
 	  rm -rf *.lo *.la *.o .libs; \
 	done
 	if [ -f "$(SWIG_PL_DIR)/native/Makefile" ]; then \
@@ -908,34 +933,41 @@ clean-swig-pl:
 extraclean-swig-pl: clean-swig-pl
 	$(EXTRACLEAN_SWIG_PL)
 
+swig-py: autogen-swig-py
+
 $(SWIG_PY_DIR)/libsvn:
 	mkdir $(SWIG_PY_DIR)/libsvn
 
-copy-swig-py: autogen-swig-py $(SWIG_PY_DIR)/libsvn
+copy-swig-py: autogen-swig-py swig-py $(SWIG_PY_DIR)/libsvn
 	@for f in $(SWIG_PY_SRC_DIR)/*.py $(SWIG_PY_DIR)/*.py; do \
 	  ! [ -f "$$f" ] || cp -pf $$f $(SWIG_PY_DIR)/libsvn; \
 	done
+	@cd $(SWIG_PY_DIR)/libsvn;ln -sf ../.libs/*.so .
 	@touch $(SWIG_PY_DIR)/libsvn/__init__.py
 
-swig-py: autogen-swig-py copy-swig-py
-
-check-swig-py: swig-py
+check-swig-py: swig-py copy-swig-py
 	$(TEST_SHLIB_VAR_SWIG_PY) \
 	cd $(SWIG_PY_DIR); \
-	  $(PYTHON) $(SWIG_PY_SRC_DIR)/tests/run_all.py
+	  $(SWIG_PY_PYTHON) $(SWIG_PY_SRC_DIR)/tests/run_all.py
 
-EXTRACLEAN_SWIG_PY=rm -rf $(SWIG_PY_SRC_DIR)/svn_*.c $(SWIG_PY_SRC_DIR)/core.c \
-                          $(SWIG_PY_SRC_DIR)/[a-z]*.py
+EXTRACLEAN_SWIG_PY=rm -rf $(SWIG_PY_DIR)/svn_*.c $(SWIG_PY_DIR)/core.c \
+                          $(SWIG_PY_DIR)/[a-z]*.py
 clean-swig-py:
+	rm -f .swig_py_checked
 	rm -rf $(SWIG_PY_DIR)/libsvn
 	if test -z "$(RELEASE_MODE)"; then \
 	  $(EXTRACLEAN_SWIG_PY); \
 	fi
 	for d in $(SWIG_PY_DIR) $(SWIG_PY_DIR)/libsvn_swig_py; \
 	do \
-	  cd $$d && rm -rf *.lo *.la *.o *.pyc .libs; \
+	  test -e $$d && cd $$d || continue; \
+	  rm -rf *.lo *.la *.o *.pyc .libs; \
+	done
+	for d in $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR); \
+	do \
+	  test -e $$d || continue; \
+	  find $$d -name "*.pyc" -exec rm {} ';'; \
 	done
-	find $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) -name "*.pyc" -exec rm {} ';'
 
 extraclean-swig-py: clean-swig-py
 	$(EXTRACLEAN_SWIG_PY)
@@ -946,7 +978,7 @@ check-swig-rb: swig-rb svnserve
 	$(TEST_SHLIB_VAR_SWIG_RB) \
 	cd $(SWIG_RB_DIR); \
 	  check_rb() { \
-	    $(RUBY) -I $(SWIG_RB_SRC_DIR) $(SWIG_RB_SRC_DIR)/test/run-test.rb "$$@"; \
+	    $(SWIG_RB_RUBY) -I $(SWIG_RB_SRC_DIR) $(SWIG_RB_SRC_DIR)/test/run-test.rb "$$@"; \
 	  }; \
 	  if check_rb --help 2>&1 | grep -q -- --collector; then \
 	    check_rb --collector=dir --verbose=$(SWIG_RB_TEST_VERBOSE); \
@@ -959,13 +991,14 @@ check-swig-rb: swig-rb svnserve
 EXTRACLEAN_SWIG_RB=rm -f $(SWIG_RB_SRC_DIR)/svn_*.c $(SWIG_RB_SRC_DIR)/core.c
 
 clean-swig-rb:
+	rm -f .swig_rb_checked
 	rm -rf $(SWIG_RB_DIR)/test/repos $(SWIG_RB_DIR)/test/wc
 	if test -z "$(RELEASE_MODE)"; then \
 	  $(EXTRACLEAN_SWIG_RB); \
 	fi
 	for d in $(SWIG_RB_DIR) $(SWIG_RB_DIR)/libsvn_swig_ruby; \
 	do \
-	  cd $$d; \
+	  test -e $$d && cd $$d || continue; \
 	  rm -rf *.lo *.la *.o .libs; \
 	done
 

Modified: subversion/branches/multi-wc-format/NOTICE
URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/NOTICE?rev=1897034&r1=1897033&r2=1897034&view=diff
==============================================================================
--- subversion/branches/multi-wc-format/NOTICE (original)
+++ subversion/branches/multi-wc-format/NOTICE Fri Jan 14 14:01:45 2022
@@ -1,5 +1,5 @@
 Apache Subversion
-Copyright 2018 The Apache Software Foundation
+Copyright 2022 The Apache Software Foundation
 
 This product includes software developed by many people, and distributed
 under Contributor License Agreements to The Apache Software Foundation
@@ -29,3 +29,6 @@ license, see LICENSE.
 
 This product includes code derived from the software developed by Yann Collet
 under a BSD 2-Clause license, see LICENSE.
+
+This product includes code derived from the software developed by Thomas
+Porschberg and Peter Adolphs under a permissive license, see LICENSE.

Modified: subversion/branches/multi-wc-format/README
URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/README?rev=1897034&r1=1897033&r2=1897034&view=diff
==============================================================================
--- subversion/branches/multi-wc-format/README (original)
+++ subversion/branches/multi-wc-format/README Fri Jan 14 14:01:45 2022
@@ -18,12 +18,12 @@ I.    A FEW POINTERS
 
       For an overview of the Subversion project, visit
 
-         http://subversion.apache.org/
+         https://subversion.apache.org/
 
       Once you have a Subversion client you can get the latest version
       of the code with the command:
 
-         $ svn co http://svn.apache.org/repos/asf/subversion/trunk subversion
+         $ svn co https://svn.apache.org/repos/asf/subversion/trunk subversion
 
 
 
@@ -36,7 +36,7 @@ II.   DOCUMENTATION
 
       It is written in DocBook XML, and the sources can be found at:
 
-         http://svn.code.sf.net/p/svnbook/source/trunk/
+         https://svn.code.sf.net/p/svnbook/source/trunk/
          
       If you wish to build the documentation from source, read the
       en/README file within the book source.
@@ -45,13 +45,13 @@ II.   DOCUMENTATION
 
 III.  PARTICIPATING IN THE SUBVERSION COMMUNITY
 
-      First, read http://subversion.apache.org/docs/community-guide/
+      First, read https://subversion.apache.org/docs/community-guide/
       It describes Subversion coding and log message standards, as well
       as how to join discussion lists.
 
-      Talk on IRC with developers:  irc.freenode.net, channel #svn-dev.
+      Talk on IRC with developers:  irc.libera.chat, channel #svn-dev.
 
-      Read the FAQ:  http://subversion.apache.org/faq.html
+      Read the FAQ:  https://subversion.apache.org/faq.html
 
 
 
@@ -66,17 +66,19 @@ V.    CONVERTING FROM CVS
       If you're a CVS user trying to move your CVS history over to
       Subversion, then be sure to visit the 'cvs2svn' project:
 
-         http://cvs2svn.tigris.org
+         https://github.com/mhagger/cvs2svn
 
-      You can get the latest released version of the cvs2svn converter
-      from the project downloads area:
+      If you are running a Linux or BSD-based system, your distribution
+      might have a cvs2svn package.
 
-         http://cvs2svn.tigris.org/servlets/ProjectDocumentList?folderID=2976
+      If cvs2svn doesn't meet your needs, you might try refinecvs
+      written by Lev Serebryakov:
 
-      Please note that the cvs2svn project is a *separate* project from
-      Subversion.  If you have problems with cvs2svn or are confused,
-      please email the cvs2svn project's mailing lists, not the
-      Subversion lists.
+        http://lev.serebryakov.spb.ru/refinecvs/
+
+      Please note that cvs2svn and refinecvs are *separate* projects
+      from Subversion.  If you have problems or are confused, contact
+      the authors, not the Subversion lists.
 
       Finally, be sure to see Appendix B in the Subversion Book.  It
       contains a very quick overview of the major differences between

Modified: subversion/branches/multi-wc-format/autogen.sh
URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/autogen.sh?rev=1897034&r1=1897033&r2=1897034&view=diff
==============================================================================
--- subversion/branches/multi-wc-format/autogen.sh (original)
+++ subversion/branches/multi-wc-format/autogen.sh Fri Jan 14 14:01:45 2022
@@ -51,6 +51,17 @@ while test $# != 0; do
       ;;
   esac
 done
+
+# Generate aclocal.m4
+cp -f aclocal.m4.in aclocal.m4
+if test -n "$RELEASE_MODE"; then
+  cat <<EOF >>aclocal.m4
+
+# Generated by 'autogen.sh --release'
+AC_DEFUN([SVN_RELEASE_MODE],[1])
+EOF
+fi
+
 # ### The order of parameters is important; buildcheck.sh depends on it and
 # ### we don't want to copy the fancy option parsing loop there. For the
 # ### same reason, all parameters should be quoted, so that buildcheck.sh
@@ -176,10 +187,10 @@ if test -n "$RELEASE_MODE"; then
   "$PYTHON" ./gen-make.py build.conf || gen_failed=1
 
   # Build the SWIG-related files
-  make -f autogen-standalone.mk autogen-swig
+  make -f autogen-standalone.mk autogen-swig || gen_failed=1
 
-  # Remove the .swig_checked file
-  rm -f .swig_checked
+  # Remove the .swig_*checked files
+  rm -f .swig_checked .swig_pl_checked .swig_py_checked .swig_rb_checked
 fi
 
 if test -n "$SKIP_DEPS"; then

Modified: subversion/branches/multi-wc-format/build.conf
URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/build.conf?rev=1897034&r1=1897033&r2=1897034&view=diff
==============================================================================
--- subversion/branches/multi-wc-format/build.conf (original)
+++ subversion/branches/multi-wc-format/build.conf Fri Jan 14 14:01:45 2022
@@ -38,11 +38,14 @@ private-includes =
         subversion/include/private/*.h
         subversion/bindings/swig/include/*.swg
         subversion/libsvn_delta/compose_delta.c
-        subversion/bindings/cxxhl/include/*.hpp
-        subversion/bindings/cxxhl/include/svncxxhl/*.hpp
-        subversion/bindings/cxxhl/src/*.hpp
-        subversion/bindings/cxxhl/src/aprwrap/*.hpp
-        subversion/bindings/cxxhl/src/private/*.hpp
+        subversion/bindings/cxx/include/*.hpp
+        subversion/bindings/cxx/include/svnxx/*.hpp
+        subversion/bindings/cxx/include/svnxx/client/*.hpp
+        subversion/bindings/cxx/include/svnxx/detail/*.hpp
+        subversion/bindings/cxx/src/*.hpp
+        subversion/bindings/cxx/src/aprwrap/*.hpp
+        subversion/bindings/cxx/src/private/*.hpp
+        subversion/bindings/cxx/tests/*.hpp
         subversion/bindings/javahl/native/*.hpp
         subversion/bindings/javahl/native/jniwrapper/jni_*.hpp
         tools/dev/svnmover/linenoise/linenoise.h
@@ -50,6 +53,7 @@ private-includes =
         subversion/libsvn_subr/utf8proc/utf8proc_internal.h
         subversion/libsvn_subr/utf8proc/utf8proc.c
         subversion/libsvn_subr/utf8proc/utf8proc_data.c
+        subversion/svn/filesize.c
 private-built-includes =
         subversion/svn_private_config.h
         subversion/libsvn_fs_fs/rep-cache-db.h
@@ -98,7 +102,7 @@ test-scripts =
 
 bdb-test-scripts =
 
-swig-python-opts = $(SWIG_FEATURES) -python $(SWIG_PY_FEATURES) -classic
+swig-python-opts = $(SWIG_FEATURES) $(SWIG_PY_OPTS) $(SWIG_PY_FEATURES)
 swig-perl-opts = $(SWIG_FEATURES) -perl $(SWIG_PL_FEATURES) -nopm -noproxy
 swig-ruby-opts = $(SWIG_FEATURES) -ruby $(SWIG_RB_FEATURES)
 swig-languages = python perl ruby
@@ -245,7 +249,7 @@ type = lib
 path = subversion/libsvn_client
 libs = libsvn_wc libsvn_ra libsvn_delta libsvn_diff libsvn_subr apriconv apr
 install = lib
-msvc-export = svn_client.h private/svn_client_mtcc.h private/svn_client_private.h
+msvc-export = svn_client.h private/svn_client_mtcc.h private/svn_client_private.h private/svn_client_shelf.h private/svn_client_shelf2.h
 
 # Routines for binary diffing and tree-deltas
 [libsvn_delta]
@@ -371,7 +375,8 @@ type = lib
 install = fsmod-lib
 path = subversion/libsvn_subr
 sources = *.c lz4/*.c
-libs = aprutil apriconv apr xml zlib apr_memcache sqlite magic intl lz4 utf8proc
+libs = aprutil apriconv apr xml zlib apr_memcache
+       sqlite magic intl lz4 utf8proc macos-plist macos-keychain
 msvc-libs = kernel32.lib advapi32.lib shfolder.lib ole32.lib
             crypt32.lib version.lib
 msvc-export = 
@@ -390,9 +395,10 @@ msvc-export =
         private\svn_temp_serializer.h private\svn_io_private.h
         private\svn_sorts_private.h private\svn_auth_private.h
         private\svn_string_private.h private\svn_magic.h
-        private\svn_subr_private.h private\svn_mutex.h
+        private\svn_subr_private.h private\svn_mutex.h  private\svn_task.h
+        private\svn_thread_cond.h private\svn_waitable_counter.h
         private\svn_packed_data.h private\svn_object_pool.h private\svn_cert.h
-        private\svn_config_private.h
+        private\svn_config_private.h private\svn_dirent_uri_private.h
 
 # Working copy management lib
 [libsvn_wc]
@@ -438,7 +444,7 @@ description = Subversion FSFS Repository
 type = exe
 path = subversion/svnfsfs
 install = bin
-libs = libsvn_repos libsvn_fs libsvn_fs_fs libsvn_delta libsvn_subr apriconv apr
+libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr
 
 # ----------------------------------------------------------------------------
 #
@@ -458,7 +464,7 @@ path = subversion/libsvn_fs_x
 sources = rep-cache-db.sql
 
 [wc_queries]
-desription = Queries on the WC database
+description = Queries on the WC database
 type = sql-header
 path = subversion/libsvn_wc
 sources = wc-queries.sql
@@ -723,48 +729,34 @@ link-cmd = $(LINK_JAVAHL_CXX)
 
 # ----------------------------------------------------------------------------
 #
-# C++HL targets
+# SVN++ targets
 #
 
-[libsvncxxhl]
-description = Subversion C++ HighLevel bindings
+[libsvnxx]
+description = Subversion C++ bindings
+when = SVN_BUILD_SVNXX
 type = lib
-path = subversion/bindings/cxxhl
+path = subversion/bindings/cxx
 libs = libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff
        libsvn_subr libsvn_fs aprutil apriconv apr
 sources = src/*.cpp src/aprwrap/*.cpp
-install = cxxhl-lib
+install = svnxx-lib
 msvc-static = yes
-compile-cmd = $(COMPILE_CXXHL_CXX)
+compile-cmd = $(COMPILE_SVNXX)
 link-cmd = $(LINK_CXX_LIB)
 
-[cxxhl-tests]
-description = Unit tests for Subversion C++ HighLevel bindings
-when = SVN_USE_GOOGLEMOCK
-type = exe
-path = subversion/bindings/cxxhl
-libs = libsvncxxhl libgooglemock libsvn_subr apr
+[svnxx-tests]
+description = Unit tests for Subversion C++ bindings
+when = SVN_BUILD_SVNXX_TESTS
+type = exe
+path = subversion/bindings/cxx
+libs = libsvnxx
+       libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff
+       libsvn_subr libsvn_fs aprutil apriconv apr
 sources = tests/*.cpp
-install = cxxhl-tests
-compile-cmd = $(COMPILE_CXXHL_GOOGLEMOCK_CXX)
-link-cmd = $(LINK_CXX)
-
-
-# ----------------------------------------------------------------------------
-#
-# Googlemock targets
-#
-
-[libgooglemock]
-description = Googlemock Library
-when = SVN_USE_GOOGLEMOCK
-type = lib
-path = googlemock
-sources = googletest/src/gtest-all.cc googlemock/src/gmock-all.cc
-install = cxxhl-tests
-msvc-static = yes
-compile-cmd = $(COMPILE_GOOGLEMOCK_CXX)
-link-cmd = $(LINK_CXX_LIB)
+install = svnxx-tests
+compile-cmd = $(COMPILE_SVNXX_TEST)
+link-cmd = $(LINK_SVNXX_TEST)
 
 # ----------------------------------------------------------------------------
 #
@@ -1128,6 +1120,14 @@ sources = sqlite-test.c
 install = test
 libs = libsvn_test libsvn_subr apriconv apr
 
+[task-test]
+description = Test concurrent tasks
+type = exe
+path = subversion/tests/libsvn_subr
+sources = task-test.c
+install = test
+libs = libsvn_test libsvn_subr apr
+
 [time-test]
 description = Test time functions
 type = exe
@@ -1349,6 +1349,18 @@ libs = libsvn_client libsvn_test libsvn_
 msvc-force-static = yes
 
 # ----------------------------------------------------------------------------
+# Tests for the client's internal functions
+
+[filesize-test]
+description = Test conversion of file sizes to human-readable form
+type = exe
+path = subversion/tests/client
+sources = filesize-test.c
+install = test
+libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
+msvc-force-static = yes
+
+# ----------------------------------------------------------------------------
 # These are not unit tests at all, they are small programs that exercise
 # parts of the libsvn_delta API from the command line.  They are stuck here
 # because of some historical association with the test-suite, but should
@@ -1470,6 +1482,14 @@ external-lib = $(SVN_KWALLET_LIBS)
 type = lib
 external-lib = $(SVN_MAGIC_LIBS)
 
+[macos-plist]
+type = lib
+external-lib = $(SVN_MACOS_PLIST_LIBS)
+
+[macos-keychain]
+type = lib
+external-lib = $(SVN_MACOS_KEYCHAIN_LIBS)
+
 [sasl]
 type = lib
 external-lib = $(SVN_SASL_LIBS)
@@ -1566,8 +1586,8 @@ libs = __ALL__
        repos-test authz-test dump-load-test
        checksum-test compat-test config-test hashdump-test mergeinfo-test
        opt-test packed-data-test path-test prefix-string-test
-       priority-queue-test root-pools-test stream-test
-       string-test time-test utf-test bit-array-test
+       priority-queue-test root-pools-test stream-test task-test
+       string-test time-test utf-test bit-array-test filesize-test
        error-test error-code-test cache-test spillbuf-test crypto-test
        revision-test
        subst_translate-test io-test

Modified: subversion/branches/multi-wc-format/build/ac-macros/compiler.m4
URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/build/ac-macros/compiler.m4?rev=1897034&r1=1897033&r2=1897034&view=diff
==============================================================================
--- subversion/branches/multi-wc-format/build/ac-macros/compiler.m4 (original)
+++ subversion/branches/multi-wc-format/build/ac-macros/compiler.m4 Fri Jan 14 14:01:45 2022
@@ -100,9 +100,33 @@ AC_DEFUN([SVN_CXX_MODE_SETUP],
   CXXFLAGS=""
 
   if test "$GXX" = "yes"; then
-    dnl Find flags to force C++98 mode
+    dnl Find flags to force C++ mode
                   dnl g++ and clang++
-    SVN_CXXFLAGS_ADD_IFELSE([-std=c++98])
+    if test "$cxx_language_level" = "any"; then
+      SVN_CXXFLAGS_ADD_IFELSE([-std=c++20],[],[
+        SVN_CXXFLAGS_ADD_IFELSE([-std=c++17],[],[
+          SVN_CXXFLAGS_ADD_IFELSE([-std=c++11])
+        ])
+      ])
+    else
+      SVN_CXXFLAGS_ADD_IFELSE([-std=$cxx_language_level],[],[
+        AC_MSG_ERROR([$CXX does not accept -std=$cxx_language_level (see option --enable-c++)])
+      ])
+      dnl We require at least C++11
+      AC_MSG_CHECKING([if '$CXX $CXXFLAGS' supports at least a C++11])
+      AC_LANG_PUSH([C++])
+      AC_COMPILE_IFELSE([
+        AC_LANG_SOURCE([
+          #if !defined(__cplusplus) || __cplusplus < 201103
+          #error "Not C++11"
+          #endif
+        ])
+      ],[AC_MSG_RESULT([yes])],[
+        AC_MSG_RESULT([no])
+        AC_MSG_ERROR([JavHL and C++ bindings require at least C++11])
+      ])
+      AC_LANG_POP([C++])
+    fi
   fi
 
   CXXMODEFLAGS="$CXXFLAGS"
@@ -126,18 +150,3 @@ AC_DEFUN([SVN_CXX_MODE_SETUP],
     SVN_CXXFLAGS_ADD_IFELSE([-Werror=unknown-warning-option])
   fi
 ])
-
-dnl The KWallet provider needs to use C++11 mode when using KDE 5
-AC_DEFUN([SVN_CXX_MODE_SETUP11],
-[
-  CXXFLAGS_KEEP="$CXXFLAGS"
-  CXXFLAGS=""
-
-  if test "$GXX" = "yes"; then
-    SVN_CXXFLAGS_ADD_IFELSE([-std=c++11])
-  fi
-
-  CXXMODEFLAGS="$CXXFLAGS"
-  CXXFLAGS="$CXXFLAGS_KEEP"
-  AC_SUBST(CXXMODEFLAGS)
-])

Propchange: subversion/branches/multi-wc-format/build/ac-macros/compiler.m4
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: subversion/branches/multi-wc-format/build/ac-macros/kwallet.m4
URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/build/ac-macros/kwallet.m4?rev=1897034&r1=1897033&r2=1897034&view=diff
==============================================================================
--- subversion/branches/multi-wc-format/build/ac-macros/kwallet.m4 (original)
+++ subversion/branches/multi-wc-format/build/ac-macros/kwallet.m4 Fri Jan 14 14:01:45 2022
@@ -83,10 +83,6 @@ AC_DEFUN(SVN_LIB_KWALLET,
                   fi
                 fi
                 if test -n "$KDE_CONFIG"; then
-                  if test $kde_config_name = "kf5-config"; then
-                    dnl KF5 does not compile with -std=c++98
-                    SVN_CXX_MODE_SETUP11
-                  fi
                   old_CXXFLAGS="$CXXFLAGS"
                   old_LDFLAGS="$LDFLAGS"
                   old_LIBS="$LIBS"

Propchange: subversion/branches/multi-wc-format/build/ac-macros/libsecret.m4
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: subversion/branches/multi-wc-format/build/ac-macros/lz4.m4
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: subversion/branches/multi-wc-format/build/ac-macros/macosx.m4
URL: http://svn.apache.org/viewvc/subversion/branches/multi-wc-format/build/ac-macros/macosx.m4?rev=1897034&r1=1897033&r2=1897034&view=diff
==============================================================================
--- subversion/branches/multi-wc-format/build/ac-macros/macosx.m4 (original)
+++ subversion/branches/multi-wc-format/build/ac-macros/macosx.m4 Fri Jan 14 14:01:45 2022
@@ -23,22 +23,25 @@ dnl SVN_LIB_MACHO_ITERATE
 dnl Check for _dyld_image_name and _dyld_image_header availability
 AC_DEFUN(SVN_LIB_MACHO_ITERATE,
 [
-  AC_MSG_CHECKING([for Mach-O dynamic module iteration functions])
-  AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-    #include <mach-o/dyld.h>
-    #include <mach-o/loader.h>
-  ]],[[
-    const struct mach_header *header = _dyld_get_image_header(0);
-    const char *name = _dyld_get_image_name(0);
-    if (name && header) return 0;
-    return 1;
-  ]])],[
+  AC_CACHE_CHECK([for Mach-O dynamic module iteration functions],
+    [ac_cv_mach_o_dynamic_module_iteration_works], [
+    AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+      #include <mach-o/dyld.h>
+      #include <mach-o/loader.h>
+    ]],[[
+      const struct mach_header *header = _dyld_get_image_header(0);
+      const char *name = _dyld_get_image_name(0);
+      if (name && header) return 0;
+      return 1;
+    ]])],
+    [ac_cv_mach_o_dynamic_module_iteration_works=yes],
+    [ac_cv_mach_o_dynamic_module_iteration_works=no],
+    [ac_cv_mach_o_dynamic_module_iteration_works=no])
+  ])
+  if test "$ac_cv_mach_o_dynamic_module_iteration_works" = yes; then
     AC_DEFINE([SVN_HAVE_MACHO_ITERATE], [1],
               [Is Mach-O low-level _dyld API available?])
-    AC_MSG_RESULT([yes])
-  ],[
-    AC_MSG_RESULT([no])
-  ])
+  fi
 ])
 
 dnl SVN_LIB_MACOS_PLIST
@@ -55,19 +58,8 @@ AC_DEFUN(SVN_LIB_MACOS_PLIST,
     #error ProperyList API unavailable.
     #endif
   ]],[[]])],[
-    dnl ### Hack.  We should only need to pass the -framework options when
-    dnl linking libsvn_subr, since it is the only library that uses Keychain.
-    dnl
-    dnl Unfortunately, libtool 1.5.x doesn't track transitive dependencies for
-    dnl OS X frameworks like it does for normal libraries, so we need to
-    dnl explicitly pass the option to all the users of libsvn_subr to allow
-    dnl static builds to link successfully.
-    dnl
-    dnl This does mean that all executables we link will be linked directly
-    dnl to these frameworks - even when building shared libraries - but that
-    dnl shouldn't cause any problems.
-
-    LIBS="$LIBS -framework CoreFoundation"
+    SVN_MACOS_PLIST_LIBS="-framework CoreFoundation"
+    AC_SUBST(SVN_MACOS_PLIST_LIBS)
     AC_DEFINE([SVN_HAVE_MACOS_PLIST], [1],
               [Is Mac OS property list API available?])
     AC_MSG_RESULT([yes])
@@ -97,9 +89,8 @@ AC_DEFUN(SVN_LIB_MACOS_KEYCHAIN,
       #error KeyChain API unavailable.
       #endif
     ]],[[]])],[
-      dnl ### Hack, see SVN_LIB_MACOS_PLIST
-      LIBS="$LIBS -framework Security"
-      LIBS="$LIBS -framework CoreServices"
+      SVN_MACOS_KEYCHAIN_LIBS="-framework Security -framework CoreServices"
+      AC_SUBST(SVN_MACOS_KEYCHAIN_LIBS)
       AC_DEFINE([SVN_HAVE_KEYCHAIN_SERVICES], [1], [Is Mac OS KeyChain support enabled?])
       AC_MSG_RESULT([yes])
     ],[

Propchange: subversion/branches/multi-wc-format/build/ac-macros/macosx.m4
------------------------------------------------------------------------------
    svn:eol-style = native