When attempting to upgrade Subversion from 1.6 to 1.7 on CentOS, many users hit a wall because standard repositories (including RPMForge) often don't carry newer versions. The CentOS ecosystem tends to prioritize stability over cutting-edge versions.
First, check if any official repositories now carry version 1.7:
yum list available subversion --showduplicates yum repolist all
Wandisco maintains newer Subversion packages. Here's how to add it:
# For CentOS 5/6 wget http://opensource.wandisco.com/centos/5/svn-1.7/RPMS/x86_64/wandisco-svn17-1.0-1.noarch.rpm rpm -Uvh wandisco-svn17-1.0-1.noarch.rpm yum clean all yum update subversion
If you prefer compiling from source:
# Install dependencies yum install gcc make openssl-devel apr-devel apr-util-devel # Download and compile wget https://archive.apache.org/dist/subversion/subversion-1.7.23.tar.gz tar xzf subversion-1.7.23.tar.gz cd subversion-1.7.23 ./configure make make install
After installation, verify the version:
svn --version
Should display: svn, version 1.7.23
If you're maintaining multiple servers, consider setting up a local repository:
# Create local repo createrepo /path/to/rpms # Client configuration echo "[local] name=Local Repo baseurl=file:///path/to/rpms enabled=1 gpgcheck=0" > /etc/yum.repos.d/local.repo
Remember that Subversion 1.7 uses a new working copy format. After upgrading:
svn upgrade /path/to/working_copy
This converts the 1.6 working copy to 1.7 format.
Watch for these common problems:
- Dependency conflicts with older packages
- Working copy format changes requiring upgrades
- Potential incompatibility with some hooks or scripts
When dealing with legacy CentOS systems, finding compatible yum repositories for newer Subversion versions can be frustrating. The official CentOS repositories typically maintain older, stable versions rather than cutting-edge releases.
First, verify if EPEL (Extra Packages for Enterprise Linux) contains the desired version:
yum --enablerepo=epel list subversion
For CentOS 5/6 systems, these repositories might help:
# For CentOS 6
wget http://opensource.wandisco.com/centos/6/svn-1.7/RPMS/x86_64/wandisco-svn17-1.0-1.noarch.rpm
rpm -Uvh wandisco-svn17-1.0-1.noarch.rpm
When repositories fail, compilation might be necessary:
# Install prerequisites
yum install gcc make openssl-devel apr-devel apr-util-devel
# Download and extract
wget https://archive.apache.org/dist/subversion/subversion-1.7.23.tar.gz
tar xzf subversion-1.7.23.tar.gz
cd subversion-1.7.23
# Configure and install
./configure --prefix=/usr/local --with-ssl
make
make install
Confirm the upgrade success with:
svn --version | head -1
Should display: "svn, version 1.7.x"
Remember that upgrading the server requires client compatibility checks. Subversion 1.7 introduced working copy format changes:
# For existing working copies
svn upgrade /path/to/working_copy
While not mandatory, you might want to upgrade repository format:
svnadmin upgrade /path/to/repository