Subversion常见问题及解决方法
2015-11-11 09:02
141 查看
【IT168 技术文档】摘要:Subversion版本控制使用中的常见问题及解决方法。
------------------------------------------------------------------分 割 线-----------------------------------------------------------------
常见问题及解决方法
1、路径或权限不足时将出现错误信息提示:
http://localhost (路径不对)
Error * PROPFIND request failed on '/' PROPFIND of '/': 200 OK (http://localhost)
http://localhost/svn (权限不足)
Error * PROPFIND request failed on '/svn' PROPFIND of '/svn': 403 Forbidden (http://localhost)
http://localhost/svn/repos (正常显示)
http://localhost/repos (权限不允许)
Error * PROPFIND request failed on '/repos' PROPFIND of '/repos': 405 Method Not Allowed (http://localhost)
解决办法是填写正确的路径或给予适当的权限。
2、不启动E:\subversion\bin\svnserve.exe ,但启动了ApacheSVN ,访问(tortoiseSVN –> Repo – browser)或提交(SVN Commit)情形如下:
现象:svn://localhost/svn/repos 不能访问或提交,提示:Error * Can't connect to host 'localhost': 由于目标机器积极拒绝,无法连接。 但 file:///e:/svn/repos 和 http://localhost/svn/repos 可以访问或提交。
原因:svn:// 是独立服务器 svnserver 自己的协议。file:/// 是本地访问,即服务器端和客户端在一个机器上。
解决方法:使用 http 方式访问。
3、设置SVNListParentPath后浏览出现Forbidden
配置svn服务器为“多库”后(“单库”、“多库”的概念见http://bbs.iusesvn.com/thread-157-1-1.html),我们想让浏览器显示父目录列表,这样,访问者可以直观的看到在版本库根目录下有哪些版本库。配置时加入“SVNListParentPath on”,比如我的配置文件:
<Location /repos>
D*** svn
SVNListParentPath on
#SVNPath e:/svn/repos1
SVNParentPath e:/svn
# 访问控制策略
AuthzSVNAccessFile E:/usr/Apache2.2/bin/accesspolicy.conf
# 首先采取匿名,如有必要采取认证
Satisfy Any
Require valid-user
# 授权类型
AuthType Basic
# 认证时的提示信息,出现在对话框中
AuthName "UserFile Auth"
# 用户文件,存储帐号
AuthUserFile E:/usr/Apache2.2/bin/passwd.conf
</Location>
这时,如果我们在浏览器中输入“http://svn服务器IP/repos/repos1”(假设存在“repos1”版本库),那么我们可以自己看到“repos”版本库的列表。但是如果我们想查看版本库的根目录,看看有哪些版本库,输入“http://svn服务器IP/repos”,回车。却出现:
Forbidden
You don't have permission to access /repos on this server.
查看访问控制策略文件“accesspolicy.conf”,噢,原来没有给根目录加权限。添加权限,整个配置看起来如下:
[groups]
admin = indian
test = test
[/]
* = r
[repos1:/]
* = r
@admin = rw
[repos2:/]
@admin = rw
@test = r
* =
再次输入“http://svn服务器IP/repos”,回车,还是出现禁止访问的信息。问题出在“<Location /repos>”,把它改成“<Location /repos/>”,即在后面加个斜线“/”,问题得到解决。
------------------------------------------------------------------分 割 线-----------------------------------------------------------------
常见问题及解决方法
1、路径或权限不足时将出现错误信息提示:
http://localhost (路径不对)
Error * PROPFIND request failed on '/' PROPFIND of '/': 200 OK (http://localhost)
http://localhost/svn (权限不足)
Error * PROPFIND request failed on '/svn' PROPFIND of '/svn': 403 Forbidden (http://localhost)
http://localhost/svn/repos (正常显示)
http://localhost/repos (权限不允许)
Error * PROPFIND request failed on '/repos' PROPFIND of '/repos': 405 Method Not Allowed (http://localhost)
解决办法是填写正确的路径或给予适当的权限。
2、不启动E:\subversion\bin\svnserve.exe ,但启动了ApacheSVN ,访问(tortoiseSVN –> Repo – browser)或提交(SVN Commit)情形如下:
现象:svn://localhost/svn/repos 不能访问或提交,提示:Error * Can't connect to host 'localhost': 由于目标机器积极拒绝,无法连接。 但 file:///e:/svn/repos 和 http://localhost/svn/repos 可以访问或提交。
原因:svn:// 是独立服务器 svnserver 自己的协议。file:/// 是本地访问,即服务器端和客户端在一个机器上。
解决方法:使用 http 方式访问。
3、设置SVNListParentPath后浏览出现Forbidden
配置svn服务器为“多库”后(“单库”、“多库”的概念见http://bbs.iusesvn.com/thread-157-1-1.html),我们想让浏览器显示父目录列表,这样,访问者可以直观的看到在版本库根目录下有哪些版本库。配置时加入“SVNListParentPath on”,比如我的配置文件:
<Location /repos>
D*** svn
SVNListParentPath on
#SVNPath e:/svn/repos1
SVNParentPath e:/svn
# 访问控制策略
AuthzSVNAccessFile E:/usr/Apache2.2/bin/accesspolicy.conf
# 首先采取匿名,如有必要采取认证
Satisfy Any
Require valid-user
# 授权类型
AuthType Basic
# 认证时的提示信息,出现在对话框中
AuthName "UserFile Auth"
# 用户文件,存储帐号
AuthUserFile E:/usr/Apache2.2/bin/passwd.conf
</Location>
这时,如果我们在浏览器中输入“http://svn服务器IP/repos/repos1”(假设存在“repos1”版本库),那么我们可以自己看到“repos”版本库的列表。但是如果我们想查看版本库的根目录,看看有哪些版本库,输入“http://svn服务器IP/repos”,回车。却出现:
Forbidden
You don't have permission to access /repos on this server.
查看访问控制策略文件“accesspolicy.conf”,噢,原来没有给根目录加权限。添加权限,整个配置看起来如下:
[groups]
admin = indian
test = test
[/]
* = r
[repos1:/]
* = r
@admin = rw
[repos2:/]
@admin = rw
@test = r
* =
再次输入“http://svn服务器IP/repos”,回车,还是出现禁止访问的信息。问题出在“<Location /repos>”,把它改成“<Location /repos/>”,即在后面加个斜线“/”,问题得到解决。
相关文章推荐
- 黑马程序员——C语言基础04—程序控制
- Android--获取App应用程序的大小
- 最后总结
- 反射 + 配置文件 实现IOC容器
- 发短信-方法
- Redis 横向扩展案例
- nginx 服务启动脚本 chkconfig service
- Base-Android快速开发框架(二)--数据存储之SharedPreferences
- Mysql如何为表字段添加索引???
- C# 添加,修改,删除Xml节点 摘录
- (子)图同构算法VF2实现(1)
- 使用UIWebView加载URL ,拨打完后能自动回到原应用。
- 欢迎使用CSDN-markdown编辑器
- OSGI EQUINOX 参数配置
- C#删除xml指定节点
- Qt数据库sqlite总结
- php-fpm服务启动脚本 service chkconfig
- awk 正则表达式、正则运算符详细介绍
- springboot 项目运行jsp
- 三层架构及其优缺点