转自:http://blog.csdn.net/l241002209/article/details/8547943

SVN这个东西虽然不好用(当然也是因为自身没有重视,但是谁让GIT这么好用呢…!),但是公司暂时用的还是SVN,因此还是不得不每天应对它。

由于一直用 phpstorm 因此SVN的操作都是GUI,非常方便(推荐…!),但是今天由于有个需求我需要写个命令让SVN自动更新,因此需要在终端中直接使用SVN的命令行工具,但是…关键时刻就给我掉链子了!

在终端中输入:

1
svn update

然后就悲剧了,提示项目的svn是1.7及以上的,我的svn版本太低!表示记得前一阵子刚刚更新过了的。用 svn version 一看,果然是1.6.

但是1.7确实是记得手动更新过的,不甘心,在目录中找,果然在 /usr/local/bin/中找到了1.7的svn版本,然后在 /usr/bin/ 中找到了1.6版本的svn!

系统默认先调用 /usr/bin 中的!

于是定位到原因,估计是升级系统到 moutain lion 的时候,又自动在 /usr/bin 中给我安装了系统自带的 1.6 的svn,于是覆盖了我的1.7的…悲剧!

于是…最简单的方法,就是把1.7的覆盖掉 local/bin 中的1.6版本!覆盖完之后,在终端中查看,果然 version 变成1.7了,于是继续 svn update ,结果接续报错:

1
svn: E170000:Unrecognized URL scheme for http*

F******k!

好吧,Google之,得到答案如下: 答案

没细看…反正SVN要使用 http 类型的仓库需要某块支持,然后报这个错误意味着它可能找不到一个名为 neon 的模块了。因此需要重新编译安装svn,告诉它这个模块在哪里。

因此做法是:

  • 下载最新的 neon ,然后 ./configure , make , make install 安装好
  • 配置SVN源码 :
1
$ ./configure --with-ssl --with-apr=/usr/local/apache2/bin/apr-config --with-apr-util=/usr/local/apache2/bin/apu-config --with-neon=/usr/local
  • 编译安装: make , make install

在配置SVN源码之前,细心的我还是发现了我的路径里面不存在/usr/local/apache2 这个目录,看了下面的评论,这个应该是在你要配置一台svn服务器时使用,因此像我这种情况,就直接使用

1
$ ./configure --with-ssl --with-neon=/usr/local
 
 
 
安装neon:
./configure --with-ssl=openssl
make && make install
安装svn:
./configure --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr/ --with-neon=/usr/local/neon/ PREFIX=/usr/local/svn/ 
make && make install
 
在linux下安装完subversion1.4+apache2.2.4之后,能够正确的增加库。但是在使用svn http://...的时候提示svn: Unrecognized URL scheme的错误。
1、查看了subversion的资料之后认识到了问题所在。
Subversion 使用外掛系統來存取檔案庫. 目前有三個這樣的外掛: ra_local 可以存取本地檔案庫, ra_dav 可以透過 WebDAV 存取檔案庫, 而 ra_svn 可以透過 svnserve 伺服器來進行本地或遠端的存取。當你想要在 Subversion 進行一個作業時, 用戶端會試著依 URL schema 動態載入一個外掛. file:// URL 會試著載入 ra_local, 而 http:// URL 會試著輸入 ra_dav。
执行svn --verion输出以下内容
svn,版本 1.4.3 (r23084)
   编译于 Jan 26 2007,15:45:15
版权所有 (C) 2000-2007 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/
此产品包含由 CollabNet (http://www.Collab.Net/)开发的软件。
可使用以下的仓库存取 (RA) 模块: 
* ra_svn : 使用svn网络协议访问仓库的模块。
- 处理“svn”方案
* ra_local : 访问本地磁盘的仓库模块。
- 处理“file”方案
确实没有发现支持ra_dav的模块。
2、./configure --help
阅读输出的内容发现了一个--with-neno的选项
--with-neon=PREFIX      Determine neon library configuration based on
                          'PREFIX/bin/neon-config'. Default is to search for
                          neon in a subdirectory of the top source directory
                          and then to look for neon-config in $PATH.
查找neon的相关信息
http://www.webdav.org.neno
neon is an HTTP and WebDAV client library, with a C interface. Featuring
下载neon-0.25.5.tar.gz
tar -xvzf neon-0.25.5.tar.gz
cp -rf neon-0.25.5 ./subversion-1.4.2/neon
***注意:此处neon要和configure,Makefile在同一个文件夹下,而且名字也要正确。
3、重新编译subversion
./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl > conflog.txt
****注意:一定不要加--with-neon选项,不加的话,会默认在./subversion-1.4.2下查找neon-config
如果你增加了--with-neon选项,就需要写成 --with-neon=PREFIX    查看./configure --help的解释是: 
Determine neon library configuration based on 'PREFIX/bin/neon-config'. Default is to searc
h for neon in a subdirectory of the top source directory and then to look for neon-config in $PATH.
make
make install

**注意:按照上面方法,安装的可执行文件在/usr/local/subversion/bin下。
需要到/usr/local/bin下增加对应的符号链接文件。
ln -S svn /usr/local/subversion/bin/svn

 

【转】svn http://提示svn: Unrecognized URL scheme错误的更多相关文章

  1. Linux 下安装idea,提示svn版本太低问题

    在 RedHat 6.5 虚拟机上装了 Idea 2017, 将项目代码从 Windows 共享到虚拟机中,然后 Idea 提示 svn 版本太旧, 上网查资料说 Idea 2018 不支持1.7以下 ...

  2. delete file SVN commit error has no URL

    在提交SVN的时候遇到这个提交失败的提示: delete file SVN commit error has no URL 我的提交顺序是: 先在自己工程的文件夹删除 ->工程中删除 -> ...

  3. 使用intellij的svn时提示出错: Can't use Subversion command line client: svn.Errors found while svn working copies detection.

    使用Intellij的svn时提示出错:Can't use Subversion command line client: svn. Errors found while svn working co ...

  4. cmd输入svn提示svn不是内部或外部命令

    已经安装了svn,但是在cmd中输入svn命令的时候提示svn不是内部或外部命令是因为没有安装svn client. 解决办法: windows安装svn的时候默认是不安装 svn comand li ...

  5. Eclipse中提示svn: is already locked的解决办法

    eclipse的svn提交不了,报错.提示 svn: is already locked   解决办法:右键项目-------Team------Refresh/Cleanup

  6. SVN更新提示内容被锁定

    SVN更新提示内容被锁定   SVN要管理好,并且及时将最新的更新内容上传到SVN上. 在我使用从SVN上更新内容到本地时,总是提示“**********已经锁定”.如果出现这种情况,选择SVN选项“ ...

  7. svn up 提示:Skipped '.'

    >svn up Skipped '.' >svn cleanup '.' is not a working copy directory >svn co https://192.16 ...

  8. svn+ssh方式svn服务器和客户端的配置[转载]

    本文摘自:http://hi.baidu.com/farmerluo/item/e7d9d72d098afc0a42634abb 我们最近一个项目用的那几台服务器都是客户给的,但是管理非常严格,只给我 ...

  9. SVN四部曲之SVN命令精通

    SVN 常用命令一览表 命令 功能 使用格式 checkout 检出 svn  co  URL up 更新到当前URL的末端 svn  up switch 更新到某一tag/branch svn  s ...

随机推荐

  1. 数字模型制作规范(转自Unity3D群)

    本文提到的所有数字模型制作,全部是用3D MAX建立模型,即使是不同的驱动引擎,对模型的要求基本是相同的.当一个VR模型制作完成时,它所包含的基本内容包括场景尺寸.单位,模型归类塌陷.命名.节点编辑, ...

  2. humid vs wet vs moist

    想表达天气很潮湿该用哪个词呢? 跟一个美国人聊天,我说wet他没听清,然后我说moist,然后他反应过来了:"oh,humid" 那~还是用humid吧

  3. Thinkphp---自定义服务类!

    考虑到有些功能是复用的,可以将一些复用的功能放到一个服务里面公用! 例如:公共模块新建一个服务类: 示例: <?php namespace Common\Service; // use Thin ...

  4. C#调用C++ DLL的方式

    动态链接库(DLL)是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件.可以说在windows操作系统中随处可见,打开主分区盘下的system32.在一些项目中,如果有大量运算或者涉 ...

  5. MapReduce部分源码解读(一)

    /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agree ...

  6. POJ - 1088 滑雪 dp

    http://bailian.openjudge.cn/practice/1088?lang=en_US 题解: 设一个dp[N][N]数组代表从(i,j)坐标开始能滑到的最远距离.更新的方法为 遍历 ...

  7. mongostat和mongotop对mongodb数据库运行状态进行监控

    --mongostat工具是mongdb自带的监控工具,可以用来监控mongodb当前状态下的运行情况: [root@slave2 ~]# /usr/local/mongodb341/bin/mong ...

  8. 网络解析(一):LeNet-5详解

    https://cuijiahua.com/blog/2018/01/dl_3.html 一.前言 LeNet-5出自论文Gradient-Based Learning Applied to Docu ...

  9. 详解回调函数——以JS为例解读异步、回调和EventLoop

      回调,是非常基本的概念,尤其在现今NodeJS诞生与蓬勃发展中变得更加被人们重视.很多朋友学NodeJS,学很久一直摸不着门道,觉得最后在用Express写Web程序,有这样的感觉只能说明没有学懂 ...

  10. redis 介绍

    缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是 ...