我已经将系统从 13.10 升级到 14.04 LTS,现在我需要从 Subversion 1.8 降级到 Subversion 1.7,因为 1.7 和 1.8 的格式不同,我无法访问我团队的 svn 仓库。
我无法从源代码编译 svn:很多依赖项,奇怪的错误。
我不明白为什么 svn 没有被打包到独立的 deb 包中。我敢肯定有很多人只需要一个 svn 版本,并且不需要强制 svn 升级。
所以,我的问题是:如何从 1.8 切换到 svn 1.7,同时保留 Ubuntu 14.04?
更新 我已经从源代码在 ubuntu 14.04 上安装了 svn 1.7.9。然后我按照如下所述通过 apt-get 和 source.list 操作在 ubuntu 14.04 上安装了 svn 1.7.9
两种情况都会导致出现以下消息:
可用的存储库访问 (RA) 模块如下:
- ra_svn:使用 svn 网络协议访问存储库的模块。
- 处理“svn”方案
- ra_local:用于访问本地磁盘上的存储库的模块。
- 处理“文件”方案
此消息意味着我无法访问我的团队的 svn 存储库,因为未安装 http/https 支持。
更新2我讨厌 Subversion 和 Ubuntu。第二天我尝试在 Ubuntu 14.04 上编译支持 http/https 的 Subversion 1.7。没有结果。我不明白为什么 Subversion 的 1.7 和 1.8 格式不兼容。我讨厌 Subversion 开发人员。
我不明白为什么 http/https 支持缺失 https://launchpad.net/ubuntu/trusty/amd64/subversion/1.7.14-1ubuntu2 https://launchpad.net/ubuntu/trusty/amd64/libsvn1/1.7.14-1ubuntu2
只给我一个 deb 包,让我安装后无需考虑配置,这样是不是太难了?
我以为最多需要 10 分钟:sudo apt-get install svn-1.7
但是我花时间配置霓虹灯和农奴,并试图适应我不知道的条件。
答案1
为了稍微扩展一下 Sylvain Pineaus 的回答:我遇到了与 OP 相同的问题,并且我是这样解决的:
我在末尾添加了以下几行/etc/apt/sources.list
:
# REMEMBER TO DELETE THIS AFTER SVN 1.7 is installed
deb http://extras.ubuntu.com/ubuntu saucy main
deb http://de.archive.ubuntu.com/ubuntu/ saucy main universe restricted multiverse
现在删除版本 1.8 的 svn 包
sudo apt-get remove subversion libsvn1
更新来源
sudo apt-get update
并安装正确的版本
sudo apt-get install subversion=1.7.9-1+nmu6ubuntu3 libsvn1=1.7.9-1+nmu6ubuntu3
现在我们需要通过以下方式修复软件包的版本
echo subversion hold | sudo dpkg --set-selections
echo libsvn1 hold | sudo dpkg --set-selections
echo libserf1 hold | sudo dpkg --set-selections
我猜,或需要libserf1
,现在(在 14.04 中)称为。subversion
libsvn1
libserf-1-1
现在删除添加的行/etc/apt/sources.list
并再次更新源(只是为了确保)
sudo apt-get update
答案2
我正在根据这里的其他答案进行构建,但这个脚本似乎适用于 Trusty 14.04:
# remove old versions
sudo apt-get remove subversion libsvn1 libserf1
# add Wandisco's Subversion maintenance package
wget -q -O - http://opensource.wandisco.com/wandisco-debian.gpg | sudo apt-key add -
sudo sh -c 'echo "deb http://opensource.wandisco.com/debian/ wheezy svn17" > /etc/apt/sources.list.d/wandisco-subversion.list'
sudo apt-get update
# install the version provided by Wandisco
sudo apt-get install subversion=1.7.22-1+WANdisco libsvn1=1.7.22-1+WANdisco
# make sure they don't get automatically upgraded to the latest
echo subversion hold | sudo dpkg --set-selections
echo libsvn1 hold | sudo dpkg --set-selections
echo libserf1 hold | sudo dpkg --set-selections
答案3
我遇到了同样的问题,更新将我的 subversion 从 1.7.x 升级到了 1.8.x,而重新安装 1.7 似乎并不容易。
我的妥协是使用 svnkit,据我所知,这是一个 subversion 的 java 实现。 http://svnkit.com/download.php
所以我仍然安装了 subversion 1.8 但是 svnkit 是 v1.7。
虽然很慢,但我可以忍受。
你可能会问,为什么要降级?
我的 intellij 版本(12.x)与 1.8.x 不兼容
答案4
在 Ubuntu 14.04 上遇到了同样的问题,但是是 64 位而不是 32 位。删除默认版本 1.8:
sudo apt-get remove --purge libsvn1
sudo apt-get remove --purge subversion
下载并安装版本 1.7(.../amd64/...而不是.../i386/...)
libsvn1:https://launchpad.net/ubuntu/trusty/amd64/libsvn1/1.7.14-1ubuntu2
颠覆:https://launchpad.net/ubuntu/trusty/amd64/subversion/1.7.14-1ubuntu2