转自: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. 【转】bit、byte、位、字节、汉字的关系

    UTF-8和UTF-16的区别?Unicode和UTF是什么关系?Unicode转义字符(\u+4个十六进制).遇到多个引号的时候转义? 解释: unicode是一种编码方式,和ascii是同一个概念 ...

  2. git如何回滚当前修改的内容?

    git如何回滚当前修改的内容? 1.打开git gui,在工具栏上点击 commit ,选择 Revert Changes,  这里可以回滚单个文件: 2.一键回滚所有修改: 打开git gui,在工 ...

  3. vue--环境搭建(创建运行项目)

    如何搭建vue环境: 1.安装之前必须要安装 node.js 2.搭建Vue环境,安装vue的脚手架工具 npm install --global vue-cli / cnpm install --g ...

  4. 关于webpy模板自动HTML转义的问题

    注意: web.py 将会转义任何任何用到的变量,所以当你将 name 的值设为是一段 HTML 时,它会被转义显示成纯文本.如果要关闭该选项,可以写成 $:name 来代替 $name. 如果我们想 ...

  5. Query实例的ajax应用之二级联动的后台是采用php来做的

    jQuery实例的ajax应用之二级联动的后台是采用php来做的,前台通过jquery的ajax方式实现二级联动数据库表设计 csj_trade id int(11) auto_increment  ...

  6. poj3304 Segments【计算几何】

    C - Segments POJ - 3304 最近开始刷计算几何了 公式好多完全不会 数学不行 几何不行 记忆力不行 当机 查的题解 就当复习吧 这套专题拿来熟悉一下计算几何模板 #include ...

  7. windows下安装pytorch

    安装: https://blog.csdn.net/xiangxianghehe/article/details/80103095 Windows下通过pip安装PyTorch 0.4.0 impor ...

  8. 《机器学习实战》2.2.2分析数据:使用matplotlib创建散点图

    #输出散点图 def f(): datingDataMat,datingLabels = file2matrix("datingTestSet3.txt") fig = plt.f ...

  9. JavaScript简介与使用方法

    1.JavaScript简介 1.1.JavaScript简史 最初:网络通信很慢,网页上的数据要传送到数据库验证,然后再返回错误结果,找客观过程要等很久,于是,网景公司开发出一门新语言,当时Java ...

  10. re表达式替换掉"\n\t\r”字符

    使用re来将一些字符替换掉,比如替换为空: import re s = "这是一个例子\n,我们的祖国" re.sub("[\n\t\r]", "&q ...