我需要从 Subversion 1.8 降级到 Subversion 1.7

use*_*083 15 svn downgrade 14.04

我已经将系统从 13.10 升级到 14.04 LTS 现在我需要从 Subversion 1.8 降级到 Subversion 1.7,因为格式 1.7 和 1.8 不同,我无法访问我团队的 svn repo。

我无法从源代码编译 svn:很多依赖项,奇怪的错误。

我不明白为什么 svn 没有被打包到独立的 deb 包中。我相信有很多人只需要一个 svn 版本,而不需要强制 svn 升级。

所以,我的问题是:如何从 1.8 切换到 svn 1.7,而留在 Ubuntu 14.04?

更新 我已经从源代码在 ubuntu 14.04 上安装了 svn 1.7.9。然后我在 ubuntu 14.04 上安装了 svn 1.7.9,如下所述通过 apt-get 和 source.list 操作

这两种情况都产生了消息:

以下存储库访问 (RA) 模块可用:

  • ra_svn :使用 svn 网络协议访问存储库的模块。
    • 处理“svn”方案
  • ra_local :用于访问本地磁盘上的存储库的模块。
    • 处理“文件”方案

此消息表示我无法访问我团队的 svn 存储库,因为未安装 http/https 支持。

Update2我讨厌 Subversion 和 Ubuntu。第二天,我尝试在支持 http/https 的 Ubuntu 14.04 上编译 Subversion 1.7。没有结果。我不明白,为什么 Subversion 的 1.7 和 1.8 格式不兼容。我讨厌 Subversion 开发人员。

我不明白,为什么https://launchpad.net/ubuntu/trusty/amd64/subversion/1.7.14-1ubuntu2 https://launchpad.net/ubuntu/trusty/amd64/libsvn1 中没有 http/https 支持 /1.7.14-1ubuntu2

只给我一个 deb 包,我可以安装而忘记配置是不是太难了?

我认为最多需要 10 分钟:sudo apt-get install svn-1.7

但是我花时间配置霓虹灯和农奴并试图适应我不喜欢的条件。

Wau*_*uzl 20

为了扩展 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
Run Code Online (Sandbox Code Playgroud)

现在删除版本 1.8 的 svn 包

sudo apt-get remove subversion libsvn1
Run Code Online (Sandbox Code Playgroud)

更新来源

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

并安装正确的版本

sudo apt-get install subversion=1.7.9-1+nmu6ubuntu3 libsvn1=1.7.9-1+nmu6ubuntu3
Run Code Online (Sandbox Code Playgroud)

现在我们需要通过以下方式修复软件包的版本

echo subversion hold | sudo dpkg --set-selections
echo libsvn1 hold | sudo dpkg --set-selections
echo libserf1 hold | sudo dpkg --set-selections
Run Code Online (Sandbox Code Playgroud)

libserf1被需要的subversion或者libsvn1是现在(在14.04)呼吁libserf-1-1,我猜。

现在删除/etc/apt/sources.list添加的行并再次更新源(只是为了确定)

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)


小智 9

我在这里建立了其他答案,但这是一个似乎适用于 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
Run Code Online (Sandbox Code Playgroud)


Syl*_*eau 1

您可以使用现有/已接受的从 1.7 降级到 1.6 的答案。

在您的情况下,只需更新(暂时)文件,而sources.list不是使用precisebut saucy

完成后,不要忘记使用以下命令锁定版本:

echo subversion hold | sudo dpkg --set-selections
Run Code Online (Sandbox Code Playgroud)