自己有了个云服务器,只在上面搭建了几个博客网站(小雷网等)。

我自己的代码,保存在SVNChina上,每年99元。(私人的付费,开源的免费)

云服务器,闲着也是闲着,决定在上面搭建一个属于自己的SVN,这样也省下了每年99元的代码托管费用。

最近遇到了一个小问题,SVN无法提交。

而且比较奇怪的是,使用SmartSVN可以,而Eclipse下却不可以。

错误信息

org.apache.subversion.javahl.ClientException: Filesystem has no item
svn: Commit failed (details follow):
svn: '/svnroot/!svn/me' path not found

根本原因

subversion在从1.6升级到1.7的 时候,包含了新的HttpV2 protocol,这个协议影响到了对svn版本库的访问,但仅仅影响到了posts,而gets并没有受到影响。禁用这个新特性的方法就是更改mod_dav_svn的本地配置。

解决办法

<Location /mysvn>
DAV svn
SVNParentPath /opt/code
AuthzSVNAccessFile /opt/svn.conf
AuthType Basic
AuthName "mysvnserver"
AuthUserFile /opt/testRequire valid-user
SVNAdvertiseV2Protocol Off
</Location>