subversion的三种外挂系统
2016-06-22 11:13
531 查看
下载LOFTER我的照片书 |
一、问题描述
今天CDN某个产品编译的时候,在rhel5.3_64上失败了,检查原因发现是,脚本执行svn update的时候报错了,如下
[root@localhost tags_info]# svn update
subversion/libsvn_ra/ra_loader.c:470: (apr_err=170000)
svn: Unrecognized URL scheme for 'http://10.10.5.46/MDN_Code/01_Trunk/02_Module/tags_version/Commonsdk'
二、原因:
出现这个问题的时候我觉得很奇怪,因为在使用其他svn命令,如svn info等都是正常的,但是所有需要远程访问仓库的命令,如svn up、svn export等都不行,找了很久原因,最终发现直接原因是subversion的lib库缺少ra_dav.so库文件,根本原因是我前几天安装subversion1.6.11时缺少一个依赖包:neno,
neno的作用是:neon is an HTTP and WebDAV client library, with a C interface Featuring,而我们目前对外提供的svn服务都是基于http协议,所以当我在此机器上使用http协议去访问 http://10.10.5.46/MDN_Code/01_Trunk/02_Module/tags_version/Commonsdk时,提示Unrecognized URL scheme
三、解决方法:
下载neon-0.25.5.tar.gz
tar -xvzf neon-0.25.5.tar.gz
[root@localhost tags_info]#cp -rf neon-0.25.5 /home/install/subversion-1.6.11/neon
注意:此处neon要和configure,Makefile在同一个文件夹下,而且名字也要正确
重新编译subversion
[root@localhost subversion-1.6.11]#./configure --prefix=/usr/local/subversion-1.6.11 && make && makeinstall
四、验证效果:
未安装neon之前的subversion的lib库,无neon文件
[root@localhost lib]# ls
libsvn_client-1.a libsvn_fs-1.a libsvn_ra-1.a libsvn_repos-1.a
libsvn_client-1.la libsvn_fs-1.la libsvn_ra-1.la libsvn_repos-1.la
libsvn_client-1.so libsvn_fs-1.so libsvn_ra-1.so libsvn_repos-1.so
libsvn_client-1.so.0 libsvn_fs-1.so.0 libsvn_ra-1.so.0 libsvn_repos-1.so.0
libsvn_client-1.so.0.0.0 libsvn_fs-1.so.0.0.0 libsvn_ra-1.so.0.0.0 libsvn_repos-1.so.0.0.0
libsvn_delta-1.a libsvn_fs_fs-1.a libsvn_ra_local-1.a libsvn_subr-1.a
libsvn_delta-1.la libsvn_fs_fs-1.la libsvn_ra_local-1.la libsvn_subr-1.la
libsvn_delta-1.so libsvn_fs_fs-1.so libsvn_ra_local-1.so libsvn_subr-1.so
libsvn_delta-1.so.0 libsvn_fs_fs-1.so.0 libsvn_ra_local-1.so.0 libsvn_subr-1.so.0
libsvn_delta-1.so.0.0.0 libsvn_fs_fs-1.so.0.0.0 libsvn_ra_local-1.so.0.0.0 libsvn_subr-1.so.0.0.0
libsvn_diff-1.a libsvn_fs_util-1.a libsvn_ra_svn-1.a libsvn_wc-1.a
libsvn_diff-1.la libsvn_fs_util-1.la libsvn_ra_svn-1.la libsvn_wc-1.la
libsvn_diff-1.so libsvn_fs_util-1.so libsvn_ra_svn-1.so libsvn_wc-1.so
libsvn_diff-1.so.0 libsvn_fs_util-1.so.0 libsvn_ra_svn-1.so.0 libsvn_wc-1.so.0
libsvn_diff-1.so.0.0.0 libsvn_fs_util-1.so.0.0.0 libsvn_ra_svn-1.so.0.0.0 libsvn_wc-1.so.0.0.0
安装neon之后的subversion的lib库,明显增加libsvn_ra_neon文件
[root@localhost lib]# ls libsvn_ra_neon
libsvn_ra_neon-1.a libsvn_ra_neon-1.so libsvn_ra_neon-1.so.0.0.0
libsvn_ra_neon-1.la libsvn_ra_neon-1.so.0
执行svn up操作,明显成功
[root@localhost tags_info]# svn up
At revision 24322.
[root@localhost tags_info]#
五、稍微扩展
网上资料:Subversion 使用外掛系統來存取檔案庫. 目前有三個這樣的外掛: ra_local 可以存取本地檔案庫, ra_dav 可以透過 WebDAV 存取檔案庫, 而 ra_svn 可以透過 svnserve 伺服器來進行本地或遠端的存取。
我认为简单的说就是:
1、ra_svn模块 : 支持svn://URL 访问配置库
2、ra_local模块 : 支持file://URL 访问配置库file:///G:/Repos_Code/MDN_Code/03_Tags
3、ra_dav模块: 支持http://URL 访问配置库 【就是ra_neon,本次出问题的地方,不过现在解决啦】
#### 以上解决方法只适用linux的subversion的源码安装方式,windows的没有这么麻烦######
2013.11.22
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍