转自:http://blog.csdn.net/l241002209/article/details/8547943php
SVN这个东西虽然很差用(固然也是由于自身没有重视,可是谁让GIT这么好用呢…!),可是公司暂时用的仍是SVN,所以仍是不得不天天应对它。html
因为一直用 phpstorm
所以SVN的操做都是GUI,很是方便(推荐…!),可是今天因为有个需求我须要写个命令让SVN自动更新,所以须要在终端中直接使用SVN的命令行工具,可是…关键时刻就给我掉链子了!linux
在终端中输入:web
而后就悲剧了,提示项目的svn是1.7及以上的,个人svn版本过低!表示记得前一阵子刚刚更新过了的。用 svn version
一看,果真是1.6.apache
可是1.7确实是记得手动更新过的,不甘心,在目录中找,果真在 /usr/local/bin/
中找到了1.7的svn版本,而后在 /usr/bin/
中找到了1.6版本的svn!bash
系统默认先调用 /usr/bin
中的!服务器
因而定位到缘由,估计是升级系统到 moutain lion
的时候,又自动在 /usr/bin
中给我安装了系统自带的 1.6
的svn,因而覆盖了个人1.7的…悲剧!网络
因而…最简单的方法,就是把1.7的覆盖掉 local/bin
中的1.6版本!覆盖完以后,在终端中查看,果真 version
变成1.7了,因而继续 svn update
,结果接续报错:phpstorm
1 |
svn: E170000:Unrecognized URL scheme for http* |
F******k!svn
好吧,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的错误。
一、查看了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的模块。
二、./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在同一个文件夹下,并且名字也要正确。
三、从新编译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