Risposte:
A partire da Ubuntu 12.10, Subversion 1.7 è disponibile come parte della distribuzione. Subversion può essere installato usando apt-get.
sudo apt-get install subversion
Per le versioni precedenti di Ubuntu, è disponibile un ppa su subversion-1.7 . Il repository può essere aggiunto come segue:
sudo apt-add-repository ppa:dominik-stadler/subversion-1.7
Per ottenere l'ultima versione di sovversione aggiornare e aggiornare il repository.
sudo apt-get update
sudo apt-get upgrade
Dovevo anche fare un dist-upgrade.
sudo apt-get dist-upgrade
Suppongo che tu abbia già installato Subversion, in caso contrario:
sudo apt-get install subversion
svn cleanup [repo]
prima di aggiornare dalla 1.6, perché il client svn 1.7 non ripulirà i vecchi repository. Dopo aver aggiornato il client svn, eseguire svn upgrade [repo]
per aggiornare i metadati per ciascun repository. Maggiori dettagli stackoverflow.com/a/7754776/114900~~V~~plural~~3rd
C'è anche un ppa supportato direttamente dal team di Subversion : il team "Subversion" .
Dovresti essere in grado di aggiungere il ppa con il seguente comando:
sudo apt-add-repository ppa:svn/ppa
Il comando apt-add-repository è fornito dal pacchetto python-software-properties, quindi assicurati di installarlo prima.
Nota: RabbitVCS sembra avere un problema con la sovversione 1.7: Rabbitvcs non segna come file / file secondari con versione in svn 1.7 . Questo problema è stato risolto nel trunk ma non è stato (ancora) inserito in una build.
Lo script Wandisco installa effettivamente un nuovo repository che contiene il file .deb per l'installazione di SVN 1.7.
Quasi lo stesso può essere realizzato eseguendo i seguenti comandi:
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
sudo: add-apt-repository: command not found
messaggio di errore, devi installare python-software-properties:sudo apt-get install python-software-properties
lucid
posto del nome della versione effettiva. Forniscono solo versioni per lucid
. E assicurati di rimuovere / commentare la deb-src
riga corrispondente /etc/apt/sources.list
se ce n'è una.
Quando si utilizza Trac È possibile che si verifichi un problema dopo aver aggiornato Subversion utilizzando il repository WANdisco. Il suo sintomo è un messaggio nel sito Trac:
Avviso: impossibile sincronizzare con il repository "(impostazione predefinita)" (Sistema di controllo versione non supportato "svn": nessun modulo denominato svn). Cerca nel registro Trac per ulteriori informazioni.
Questo pacchetto collega svn a python2.6 e Ubuntu 12.04 ha python2.7. Ecco uno script che ha risolto il problema dalla mia parte:
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
Ho usato i binari di wandisco con fonti apt come descritto da Fernando, ma ora che la prossima versione di Ubuntu ha i binari ufficiali aggiornati alla 1.7, volevo usarli mentre rimanevo con 12.04 LTS.
Aggiunte le seguenti fonti a un nuovo 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
E quindi secondo i consigli su https://help.ubuntu.com/community/PinningHowto an /etc/apt/apt.conf.d/90svn17:
APT::Default-Release "precise";
Quindi installato utilizzando
sudo apt-get install -V subversion -t quantal
Non sono sicuro che questi nuovi nomi di file seguano le convenzioni appropriate ma funziona. Ho provato a confermare prima la configurazione ma senza fortuna. Con "-t quantal" non era necessario il pinning.
Non credere che ci sia ancora .deb pubblico disponibile. Puoi provare questo script per installare 1.7 da 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