转自: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. html5播放器制作小结

    链接:http://snowinmay.net/6rooms/html/music.php 9月份前的版本: 播放,暂停,点赞,播放状态显示. 9.2版本: 下载歌曲,静音,时间倒计时(点击暂停时倒计 ...

  2. Thinkphp框架下设置session的过期时间

    打开项目中的配置文件,添加session的过期配置,如下: 'SESSION_OPTIONS' => array( 'name' => 'BJYSESSION', //设置session名 ...

  3. MySQL的btree索引和hash索引的区别 (转)

    Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-T ...

  4. table中强制不换行

    总是一些文章说要强制换行,很少提到说如何不换行. 一般都会使用word-break: keep-all;使得强制不换行. HTML <!DOCTYPE html PUBLIC "-// ...

  5. Linux:32/64位程序(应用程序、共享库、内核模块)

    摘要: Linux系统区分32/64位,相应地,应用程序.共享库和内核模块也区分32/64位. 本文以Ubuntu系统为例,介绍如何编译和使用32/64位的应用程序.共享库和内核模块. 1. 应用程序 ...

  6. CCCC 排座位 图着色问题

    1排座位:https://www.patest.cn/contests/gplt/L2-010 2图着色问题 https://www.patest.cn/contests/gplt/L2-023 建图 ...

  7. 自己封装framworks上传到应用商店报错

    参考链接: http://www.jianshu.com/p/60ac3ded34a0 http://ikennd.ac/blog/2015/02/stripping-unwanted-archite ...

  8. (object) array

    <?php $current_language = (object)array ( 'name' => '火星文', 'timezone' => 'Asia/Tokyo', 'aut ...

  9. GP服务中无Tasks

    发布GP服务,之后执行GP服务时,发现无Tasks,如下图所示 正常情况应该如下图 问题原因在于,arcmap与server版本不一致~~ (10.4.1arcmap 与 10.2.2 server) ...

  10. sass的@at-root

    一.首先理解sass的嵌套中 &表示是什么? &表示整个选择器,而不单个class属性值或id属性值或tagName.例如下面一段代码: .a { .b { & { color ...