Відповіді:
Станом на Ubuntu 12.10, підривна версія 1.7 доступна як частина дистрибуції. Subversion можна встановити за допомогою apt-get.
sudo apt-get install subversion
Для більш ранніх версій Ubuntu є версія ppa, доступна на Subversion-1.7 . Репозиторій можна додати так:
sudo apt-add-repository ppa:dominik-stadler/subversion-1.7
Щоб отримати останню версію оновлення субверсії та оновити сховище.
sudo apt-get update
sudo apt-get upgrade
Мені потрібно було також здійснити оновлення dist.
sudo apt-get dist-upgrade
Я припускаю, що у вас уже встановлено підрив, якщо ні:
sudo apt-get install subversion
svn cleanup [repo]
перед оновленням з 1.6, оскільки клієнт svn 1.7 не очистить старі сховища. Після оновлення клієнта svn запустіть svn upgrade [repo]
для оновлення метаданих для кожного сховища. Детальніше stackoverflow.com/a/7754776/114900
Також є PPA, який безпосередньо підтримується командою із підриву: "Підривна команда" .
Ви повинні мати змогу додати ppa за допомогою наступної команди:
sudo apt-add-repository ppa:svn/ppa
Команда apt-add-repository надається пакетом властивостей python-software, тому переконайтеся, що встановіть її спочатку.
Примітка: Схоже, у RabbitVCS є проблема з підривкою 1.7: Rabbitvcs не позначає перекомпоненти / файли у версії svn 1.7 . Це зафіксовано в магістралі, але ще (поки) не було висунуто на збірку.
Сценарій Wandisco фактично встановлює нове сховище, яке містить файл .deb для встановлення SVN 1.7.
Майже те саме можна зробити, виконавши такі команди:
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
повідомлення про помилку, вам потрібно встановити властивості python-software:sudo apt-get install python-software-properties
lucid
замість фактичного імені релізу. Вони надають лише випуски для lucid
. І переконайтесь, що ви видалили / прокоментували відповідний deb-src
рядок, /etc/apt/sources.list
якщо такий є.
Під час використання Trac Ви можете помітити проблему після оновлення Subversion за допомогою сховища WANdisco. Його симптомом є повідомлення на сайті Trac:
Попередження: Неможливо синхронізуватись із сховищем "(за замовчуванням)" (Непідтримувана система управління версіями "svn": Немає модуля з іменем svn). Для отримання додаткової інформації шукайте у журналі Trac.
Цей пакет пов'язує svn з python2.6, а Ubuntu 12.04 має python2.7. Ось сценарій, який вирішив проблему з мого боку:
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
Я використовував бінарні файли wandisco з підходящими джерелами, як описав Фернандо, але тепер, коли наступна версія Ubuntu має офіційні бінарні файли, оновлені до 1,7, я хотів використовувати ці під час дотримування 12,04 LTS.
До нового файлу /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
А потім згідно з порадами на веб-сторінці https://help.ubuntu.com/community/PinningHowto an /etc/apt/apt.conf.d/90svn17:
APT::Default-Release "precise";
Потім встановлюється за допомогою
sudo apt-get install -V subversion -t quantal
Не впевнений, чи відповідають ці нові імена файлів належним умовам, але це працює. Спробував спочатку налаштувати фіксацію, але не пощастило. За допомогою "-t quantal" фіксація не потрібна.
Не вірте, немає жодного публічного .deb. Ви можете спробувати цей скрипт, щоб встановити 1.7 з 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