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