我需要从Subversion 1.8降级到Subversion 1.7


15

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

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

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

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

更新 我已经从源代码在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支持。

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

但是我花时间配置霓虹灯和农奴,并努力适应我所不具备的条件。


欢迎来到Ask Ubuntu。拜托,您能不能花点时间阅读当有人回答我的问题时该怎么办?
西尔文·皮瑙

非常抱歉,事情没有按您的预期进行。我测试了它,我的svn支持http和https。如果您从源代码编译并安装了svn,则很可能会搞砸安装。从源代码编译是可以的,但是不使用软件包管理器进行安装始终是个坏主意。编译后的文件svn很可能会干扰您通过进行安装的文件apt-get。您只能从计算机中清除与svn有关的所有内容(即尝试卸载已编译的svn),然后按照我的回答进行操作。
Wauzl 2014年

开发商表示,SVN应该向下兼容。不用降级SVN版本,我将看看为什么您无法连接到旧版本服务器?
2014年

Answers:


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

现在删除版本为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被需要的subversion或者libsvn1是现在(在14.04)呼吁libserf-1-1,我猜。

现在,删除/etc/apt/sources.list已添加的行并再次更新源(请确保)

sudo apt-get update

嗨,Wauzl。我已经安装了svn,但是无法通过http / https访问。svn up返回“ svn:E170000:无法识别的URL方案”
user273083 2014年

还是要感谢您的详细评论。
user273083 2014年

1
@Wauzl,未找到1.7.9-1 + nmu6ubuntu3。
海汇

我会建议使用pkgs.org/search/subversion手动下载3包,其速度比用的sources.list把玩
kevinf

不幸的是,这个答案不再对我有用。我是Ubuntu 14.04
thatidiotguy 2015年

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

谢谢。由于15.04已经出局,因此接受的答案不再起作用。如果您将安装命令更改为sudo apt-get install subversion=1.7.20-1+WANdisco libsvn1=1.7.20-1+WANdisco
Wauzl,2015年

请注意,版本号现在为1.7.21-1。
thatidiotguy 2015年

1
发现按照以下说明(针对1.7.22-1)安装了svn。但是,当我尝试签出代码时,它崩溃了。正如这个问题的提交者所建议的,我最终使用了 launchpad.net/ubuntu/trusty/i386/subversion/1.7.14-1ubuntu2launchpad.net/ubuntu/trusty/i386/libsvn1/1.7.14-1ubuntu2
Shane Gannon 2015年

3

我有一个相同的问题,其中有一个更新将我的Subversion从1.7.x升级到1.8.x,重新安装1.7似乎并不容易。

我的折衷办法是使用svnkit,这是我可以做的颠覆的Java实现。 http://svnkit.com/download.php

所以我仍然安装了Subversion 1.8,但安装了svnkit v1.7。

慢,但我可以忍受。

您为什么要降级?

我的intellij(12.x)版本与1.8.x搭配不好




1

有一个现有的/可接受的答案可以从1.7降级到1.6。

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

完成后,请不要忘记使用以下方式锁定版本:

echo subversion hold | sudo dpkg --set-selections

0

可能是这个错误,与客户端证书身份验证和重新协商有关?

但是什么时候可以解决?!它已经摆放了半年多了。

不幸的是,在12.04中存在类似的问题

因此,svn + ssl-reneg + client-cert经过了严格的测试。:(

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.