TortoiseSVN提交文件时'svn/!svn/me'path not found的解决

来源:互联网 发布:台湾手机网络制式 编辑:程序博客网 时间:2024/06/06 00:33

今天在公司服务器上把Trac搭建好,Subversion集成进去,做好这一切后,我开始试验svn集成是否成功,遂建立了一个版本库,用TortoiseSVN本地checkout成功,但是在本地新增了文件,向版本库commit的时候,却弹出了svn/!svn/me'path not found‘的提示。

改了半天的httpd.conf文件,问题还是没有解决。我尝试着在URL of repository填写file:///D:/demo/svn,而不是http://127.0.0.1/svn这样,却可以正常地checkout和commit,又经过一些试验,证实了填写网络地址的话,对版本库只可可以提取而不能提交。我又试着对在安装Trac以前建立的一个版本库进行操作,出现了同样的问题(以前是可以正常操作的),这就说明是安装Trac以后对Subversion产生了影响。

在网上搜了一下,找到这样一条留言,Subversion E160013: '/svn/xxx/!svn/me' path not found* error(http://stackoverflow.com/questions/9928285/subversion-e160013-svn-xxx-svn-me-path-not-found-error)

I recently upgraded the bitnami trac stack (from 0.12.2-5 to 0.12.3) on our server and after reconfiguring all the scripts and repositories all seemed well. I was able to login and view the source code and browse through the repository using trac. I tested checking out the source code and I could browse the repository via both visualsvn and tortoise. But when it came to commiting changes made there was a problem. I got a path not found exception. Looking into the error log on the server all I could see was all get requests were fine, but posts had an incorrect url (!svn/me was appended at the end). After spending a couple of hours going through logs and configurations, since subversion was upgraded from 1.6 to 1.7, this include the new HttpV2 protocol. This protocol somehow affected access to the svn repositores, but only seems to affect posts and not gets. The way to disable the new features is by changes to the mod_dav_snv configuration locations as follows:

DAV svn...SVNAdvertiseV2Protocol Off

The issue was then resolved and we could check in our changes again.

这个人大意是说他最近升级了他服务器上的Trac,可以登录和看到版本库里的源代码,他可以通过visualsvn和totoise对版本库checkout,但是当他commiting changes的时候,却得到path not found的错误,(跟我遇到的问题一模一样)。他看了错误日志,发现日志里面所有的request请求都是正常的,但post请求却都跟着一个错误的url,所有的url在最末尾都被错误地附加上了!svn/me。他花了几个小时查看日志和配置文件,发现subversion在从1.6升级到1.7的时候,包含了新的HttpV2 protocol,这个协议影响到了对svn版本库的访问,但仅仅影响到了posts,而gets并没有受到影响。禁用这个新特性的方法就是更改mod_dav_svn的本地配置,如下:

DAV svn...SVNAdvertiseV2Protocol Off
他更改以后。问题解决了。
我照着这个方法改了我的httpd.conf文件后,问题也得到了解决。非常感谢这位无私的问题贡献者


原创粉丝点击