84

Does anybody know of a ppa or source I can get a subverison 1.7 deb?

It was just released yesterday so I'm sure something will show up eventually. However I figure this will be a good place to post when something is released.

Jorge Castro
  • 73,717
Ryu
  • 943

6 Answers6

62

As of Ubuntu 12.10, subversion 1.7 is available as part of the distribution. Subversion can be installed using apt-get.

sudo apt-get install subversion

For earlier versions of Ubuntu, there is a ppa available at subversion-1.7. The repository can be added as follows:

sudo apt-add-repository ppa:dominik-stadler/subversion-1.7

To get the latest version of subversion update and upgrade the repository.

sudo apt-get update
sudo apt-get upgrade

I needed to also do a dist-upgrade.

sudo apt-get dist-upgrade

I'm assuming that you already have subversion installed, if not:

sudo apt-get install subversion
elias
  • 1,149
44

There's also a ppa supported directly by the subversion team: "Subversion" team.

You should be able to add the ppa with the following command:

sudo apt-add-repository ppa:svn/ppa

The apt-add-repository command is provided by the python-software-properties package, so make sure to install it first.

Note: RabbitVCS seems to have a problem with subversion 1.7: Rabbitvcs does not mark as versioned subfodlers/files in svn 1.7. This is fixed in the trunk but hasn't (yet) been pushed to a build.

14

The Wandisco script actually install a new repository which contains the .deb file for installing SVN 1.7.

Almost the same can be accomplish by executing the following commands:

sudo add-apt-repository 'deb http://opensource.wandisco.com/ubuntu lucid svn17'
sudo wget -q http://opensource.wandisco.com/wandisco-debian.gpg -O- | sudo apt-key add -    
sudo apt-get update    
sudo apt-get install subversion
Fernando
  • 348
1

When use Trac You may notice a problem after upgrading Your Subversion using WANdisco repository. Its symptom is a message in Trac site:

Warning: Can't synchronize with repository "(default)" (Unsupported version control system "svn": No module named svn). Look in the Trac log for more information.

This package binds svn to python2.6 and Ubuntu 12.04 has python2.7. Here is a script which solved the problem on my side:

mkdir /usr/lib/python2.7/dist-packages/libsvn
for f in /usr/lib/pyshared/python2.6/libsvn/*; do ln -s $f /usr/lib/python2.7/dist-packages/libsvn/; done
for f in /usr/share/pyshared/libsvn/*; do ln -s $f /usr/lib/python2.7/dist-packages/libsvn/; done

mkdir /usr/lib/python2.7/dist-packages/svn
for f in /usr/share/pyshared/svn/*; do ln -s $f /usr/lib/python2.7/dist-packages/svn/; done

mkdir /usr/lib/pyshared/python2.7/libsvn
for f in /usr/lib/pyshared/python2.6/libsvn/*; do ln -s $f /usr/lib/pyshared/python2.7/libsvn/; done
Eliah Kagan
  • 119,640
1

I've used wandisco binaries with apt sources as Fernando described, but now that next Ubuntu version has official binaries updated to 1.7 I wanted to use those while sticking with 12.04 LTS.

Added the following sources to a new file /etc/apt/sources.list.d/svn17.list:

deb http://archive.ubuntu.com/ubuntu/ quantal main universe
deb-src http://archive.ubuntu.com/ubuntu/ quantal main universe

And then according to advice on https://help.ubuntu.com/community/PinningHowto an /etc/apt/apt.conf.d/90svn17:

APT::Default-Release "precise";

Then installed using

sudo apt-get install -V subversion -t quantal

Not sure if these new filenames follow the proper conventions but it works. Tried pinning config first but with no luck. With "-t quantal" pinning wasn't needed.

solsson
  • 186
0

Don't believe theres any public .deb available yet. You can try this script to install 1.7 from WANdisco

svn1.7_ubuntu_wandisco.sh

#!/bin/bash +x
# WANdisco Subversion Installer V0.1
# opensource@wandisco.com

echo WANdisco Subversion Installer v0.1 for Ubuntu 9.10, 10.04, 10.10
echo Please report problems and bugs to opensource@wandisco.com
echo 
echo Gathering some information about your system...

MINVERSION='1'
SVNVER='1.7.0'
ARCH=`uname -m`
SVNSTATUS=`dpkg -l|grep " libsvn1 " | awk '{print $1}'`

#functions
check_is_root ()
{
    if [[ $EUID -ne 0 ]]; then
        echo "This script must be run as root" 1>&2
        exit 1
    fi  
}
svn_remove_old ()
{
    echo Removing old packages...
    apt-get -y remove libsvn1 subversion libapache2-svn libsvn-dev libsvn-doc libsvn-perl subversion-tools 
}
add_repo_config ()
{
        echo Adding repository configuration to /etc/apt/sources.list.d/
    if [ -f /etc/apt/sources.list.d/WANdisco.list ]; then
        rm /etc/apt/sources.list.d/WANdisco.list
    fi
    echo "Installing Apt repo...."
    echo "# WANdisco Open Source Repo" > /etc/apt/sources.list.d/WANdisco.list
    echo "deb http://opensource.wandisco.com/ubuntu lucid svn17" >> /etc/apt/sources.list.d/WANdisco.list
        echo "Importing GPG key"
        wget http://opensource.wandisco.com/wandisco-debian.gpg -O /tmp/wandisco-debian.gpg &>/dev/null
        apt-key add /tmp/wandisco-debian.gpg
        rm -rf /tmp/wandisco-debian.gpg
        apt-get update
}
install_svn ()
{
        echo Checking to see if you already have Subversion installed via dpkg...
        if [ "$SVNSTATUS" == "ii" ]; then
        echo
            echo Subversion is already installed on the system.
            echo Do you wish to replace the version of subversion currently installed with the WANdisco version? 
        echo This action will remove the previous version from your system.
        echo -n "[y/N]: "
        read svn_install_confirm
        if [ "$svn_install_confirm" == "y" -o "$svn_install_confirm" == "Y" ]; then
            svn_remove_old
            add_repo_config
            echo        
            echo Installing Subversion $SVNVER-$MINVERSION
            echo
            apt-get -y --force-yes install subversion libsvn-perl subversion-tools
            echo -n "Would you like to install apache and the apache SVN modules? [y/N] "
            read dav_svn_confirm
            if [ "$dav_svn_confirm" == "y" -o "$dav_svn_confirm" == "Y" ]; then
                echo Installing apache and subversion modules
                apt-get -y --force-yes install apache2 libapache2-svn
                echo -n "Installation complete. Restart apache? [y/N] "
                read apache_restart_confirm
                if [ $apache_restart_confirm == "y" -o $apache_restart_confirm == "Y" ]; then
                    /etc/init.d/apache2 restart 
                fi
            fi

            else
            echo "Install Cancelled"
            exit 1
            fi

    else
        # Install SVN
        echo "Subversion is not currently installed"
        echo -n "Starting installation, are you sure you wish to continue? [y/N] "
        read svn_install_confirm
                if [ "$svn_install_confirm" == "y" -o "$svn_install_confirm" == "Y" ]; then
            add_repo_config
                        echo
                        echo Installing Subversion $SVNVER-$MINVERSION
                        echo
                        apt-get -y --force-yes install subversion libsvn-perl subversion-tools
                        echo -n "Would you like to install apache and the apache SVN modules? [y/N] "
                        read dav_svn_confirm
                        if [ "$dav_svn_confirm" == "y" -o "$dav_svn_confirm" == "Y" ]; then
                                echo Installing apache and subversion modules
                                apt-get -y --force-yes install apache2 libapache2-svn libsvn-dev
                                echo -n "Installation complete. Restart apache? [y/N] "
                                read apache_restart_confirm
                                if [ $apache_restart_confirm == "y" -o $apache_restart_confirm == "Y" ]; then
                                        /etc/init.d/apache2 restart
                                fi
                        fi

                else
                        echo "Install Cancelled"
                        exit 1
                fi

        fi

}

install_32 ()
{
        echo Installing for $ARCH
    install_svn
}
install_64 ()
{
        echo Installing for $ARCH
    install_svn
}

#Main
check_is_root

echo Checking your system architecture.
if [ "$ARCH" == "i686" -o "$ARCH" == "i386" ]; then
    install_32
elif [ "$ARCH" == "x86_64" ];
then
    install_64
else 
    echo Unsupported platform: $ARCH
    exit 1
fi
Chelmite
  • 1,203
  • 2
  • 11
  • 26