Odpowiedzi:
Począwszy od Ubuntu 12.10, subversion 1.7 jest dostępny jako część dystrybucji. Subversion można zainstalować przy pomocy apt-get.
sudo apt-get install subversion
We wcześniejszych wersjach Ubuntu dostępna jest ppa pod subversion-1.7 . Repozytorium można dodać w następujący sposób:
sudo apt-add-repository ppa:dominik-stadler/subversion-1.7
Aby uzyskać najnowszą wersję aktualizacji subversion i zaktualizować repozytorium.
sudo apt-get update
sudo apt-get upgrade
Musiałem także dokonać aktualizacji dist.
sudo apt-get dist-upgrade
Zakładam, że masz już zainstalowane Subversion, jeśli nie:
sudo apt-get install subversion
svn cleanup [repo]
przed aktualizacją z wersji 1.6, ponieważ klient svn 1.7 nie wyczyści starszych repozytoriów. Po aktualizacji klienta svn uruchom svn upgrade [repo]
aktualizację metadanych dla każdego repozytorium. Więcej szczegółów stackoverflow.com/a/7754776/114900
Istnieje również ppa obsługiwany bezpośrednio przez zespół subversion: zespół „Subversion” .
Powinieneś być w stanie dodać ppa za pomocą następującego polecenia:
sudo apt-add-repository ppa:svn/ppa
Polecenie apt-add-repository jest dostarczane przez pakiet python-software-properties, więc najpierw go zainstaluj.
Uwaga: Wydaje się, że RabbitVCS ma problem z subversion 1.7: Rabbitvcs nie oznacza jako wersjonowanych podfodlerów / plików w svn 1.7 . Jest to naprawione w bagażniku, ale nie zostało (jeszcze) zepchnięte do kompilacji.
Skrypt Wandisco faktycznie instaluje nowe repozytorium, które zawiera plik .deb do instalacji SVN 1.7.
Prawie to samo można osiągnąć, wykonując następujące polecenia:
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
komunikat o błędzie, musisz zainstalować właściwości python-software-properties:sudo apt-get install python-software-properties
lucid
zamiast rzeczywistej nazwy wydania. Zapewniają tylko wersje dla lucid
. I upewnij się, że usunąłeś / skomentowałeś odpowiedni deb-src
wiersz, /etc/apt/sources.list
jeśli taki istnieje.
Podczas korzystania z Trac możesz zauważyć problem po aktualizacji Subversion za pomocą repozytorium WANdisco. Jego objawem jest komunikat w witrynie Trac:
Ostrzeżenie: Nie można zsynchronizować z repozytorium „(domyślnie)” (Nieobsługiwany system kontroli wersji „svn”: Brak modułu o nazwie svn). Aby uzyskać więcej informacji, przejrzyj dziennik Trac.
Ten pakiet wiąże svn z python2.6, a Ubuntu 12.04 ma python2.7. Oto skrypt, który rozwiązał problem po mojej stronie:
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
Używałem plików binarnych wandisco ze źródłami apt, jak opisał Fernando, ale teraz, gdy następna wersja Ubuntu ma oficjalne pliki binarne zaktualizowane do wersji 1.7, chciałem ich używać trzymając się 12.04 LTS.
Dodano następujące źródła do nowego pliku /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
A następnie zgodnie z poradą na https://help.ubuntu.com/community/PinningHowto an /etc/apt/apt.conf.d/90svn17:
APT::Default-Release "precise";
Następnie zainstalowany za pomocą
sudo apt-get install -V subversion -t quantal
Nie jestem pewien, czy te nowe nazwy plików są zgodne z odpowiednimi konwencjami, ale działa. Najpierw próbowałem konfiguracji przypinania, ale bez powodzenia. Przy „-t kwantowym” przypinanie nie było potrzebne.
Nie wierz, że jest jeszcze dostępny publiczny plik .deb. Możesz wypróbować ten skrypt, aby zainstalować 1.7 z 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