Câu trả lời:
Kể từ Ubuntu 12.10, subversion 1.7 có sẵn như là một phần của phân phối. Subversion có thể được cài đặt bằng apt-get.
sudo apt-get install subversion
Đối với các phiên bản trước của Ubuntu, có một ppa có sẵn tại subversion-1.7 . Các kho lưu trữ có thể được thêm vào như sau:
sudo apt-add-repository ppa:dominik-stadler/subversion-1.7
Để có được phiên bản mới nhất của cập nhật lật đổ và nâng cấp kho lưu trữ.
sudo apt-get update
sudo apt-get upgrade
Tôi cũng cần phải nâng cấp.
sudo apt-get dist-upgrade
Tôi giả sử rằng bạn đã cài đặt lật đổ, nếu không:
sudo apt-get install subversion
svn cleanup [repo]
trước khi nâng cấp từ 1.6, vì máy khách svn 1.7 sẽ không dọn sạch các kho cũ hơn. Sau khi nâng cấp máy khách svn, hãy chạy svn upgrade [repo]
để nâng cấp siêu dữ liệu cho mỗi kho lưu trữ. Thêm chi tiết stackoverflow.com/a/7754776/114900
Ngoài ra còn có một ppa được hỗ trợ trực tiếp bởi nhóm lật đổ: nhóm "Subversion" .
Bạn sẽ có thể thêm ppa bằng lệnh sau:
sudo apt-add-repository ppa:svn/ppa
Lệnh apt-add-repository được cung cấp bởi gói python-software-property, vì vậy hãy đảm bảo cài đặt nó trước.
Lưu ý: RabbitVCS dường như có vấn đề với subversion 1.7: Rabbitvcs không đánh dấu là tập tin con / tệp con được phiên bản trong svn 1.7 . Điều này được cố định trong thân cây nhưng chưa (chưa) được đẩy lên bản dựng.
Tập lệnh Wandisco thực sự cài đặt một kho lưu trữ mới chứa tệp .deb để cài đặt SVN 1.7.
Hầu như giống nhau có thể được thực hiện bằng cách thực hiện các lệnh sau:
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
thông báo lỗi, bạn cần cài đặt thuộc tính python-software:sudo apt-get install python-software-properties
lucid
thay vì tên phát hành thực tế của bạn. Họ chỉ cung cấp bản phát hành cho lucid
. Và hãy chắc chắn rằng bạn xóa / nhận xét deb-src
dòng tương ứng trong /etc/apt/sources.list
nếu có.
Khi sử dụng Trac Bạn có thể nhận thấy sự cố sau khi nâng cấp Subversion của mình bằng kho lưu trữ WANdisco. Triệu chứng của nó là một tin nhắn trong trang Trac:
Cảnh báo: Không thể đồng bộ hóa với kho lưu trữ "(mặc định)" (Hệ thống kiểm soát phiên bản không được hỗ trợ "svn": Không có mô-đun có tên svn). Xem trong nhật ký Trac để biết thêm thông tin.
Gói này liên kết svn với python2.6 và Ubuntu 12.04 có python2.7. Đây là một kịch bản giải quyết vấn đề về phía tôi:
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
Tôi đã sử dụng các tệp nhị phân Wandisco với các nguồn apt như Fernando mô tả, nhưng bây giờ phiên bản Ubuntu tiếp theo có các tệp nhị phân chính thức được cập nhật lên 1.7 Tôi muốn sử dụng các tệp nhị phân trong khi gắn bó với 12.04 LTS.
Đã thêm các nguồn sau vào một tệp mới /etc/apt/source.list.d/svn17.list:
deb http://archive.ubuntu.com/ubuntu/ quantal main universe
deb-src http://archive.ubuntu.com/ubuntu/ quantal main universe
Và sau đó, theo lời khuyên trên https://help.ubfox.com/community/PinningHowto /etc/apt/apt.conf.d/90svn17:
APT::Default-Release "precise";
Sau đó cài đặt bằng
sudo apt-get install -V subversion -t quantal
Không chắc chắn nếu các tên tập tin mới này tuân theo các quy ước thích hợp nhưng nó hoạt động. Đã thử cấu hình ghim đầu tiên nhưng không có may mắn. Với ghim "-t định lượng" là không cần thiết.
Đừng tin có bất kỳ .deb nào có sẵn. Bạn có thể thử tập lệnh này để cài đặt 1.7 từ WANdisco
svn1.7_ubfox_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