Older installations of Subversion on macOS often fail to interact with modern repositories. Symptoms include the "This cliant is too old to work with working copy" message or E170000: Unrecognized URL scheme when connecting over HTTPS. These issues stem from missing SSL dependencies in the legacy client.
Compilation Prerequisites
Before rebuilding Subversion, ensure you have the necessary cryptographic and runtime libraries installed:
- OpenSSL
- APR (Apache Portable Runtime)
- APR-Util
Building Serf Library
The serf HTTP client library is required for HTTPS support. It must be compiled and linked during the Subversion build process.
# Navigate to the Serf directory
cd serf
# Configure with dependency paths
./configure --prefix=/usr/local/serf --with-apr=/usr/local/apache/apr --with-apr-util=/usr/local/apache/apr-util --with-openssl=/usr/local/openssl
# Compile and install
make
sudo make install
Compiling Subversion
Download the latest stable release (e.g., version 1.14) and configure it to use the newly installed Serf library.
# Enter the SVN source root
cd subversion-
# Configure the build
./configure --prefix=/usr/local/svn --with-serf=/usr/local/serf
# Compile
make
sudo make install
Ensure the target prefix directory exists with write permissions prior to executing make install.
Configuring Shell Environment
Update your shell configuraton to prioritize the new binary path. Add the following line to ~/.bash_profile or ~/.zshrc:
export PATH=/usr/local/svn/bin:$PATH
Apply the changes immediately:
source ~/.bash_profile
Verification
Confirm the active version matches the installation:
/usr/local/svn/bin/svn --version
Successful execution returns the version number without error messages.