SVN Web Client的几个小问题

SVN Web Client的几个小问题
好久没有更新Blog了,看到还有人在关注这个Blog,很是惭愧。发现还是有人在使用Polarion的SVN Web Client,并且碰到了一些小问题,尽管我工作中几乎不用这个客户端,但当初安装的版本依然还在,所以决定稍微研究一下,但愿能给喜好这款软件的人一些帮助。

1. 为什么老是提示“Your credentials are not correct. Please check them and try again. ”?
这个多半是svn初学者常碰到的问题,尤其在使用HTTP协议的时候。一开始大家都用svnserve来做svn的服务器,自然配置的是conf中的passwd。但如果采用HTTP协议的话,就得使用Basci HTTP Authentication了,需要用Apache提供的htpasswd来管理用户和口令。这个的配置在svn自带的帮助文件中第6章“httpd, the Apache HTTP Server”一节中有比较详细的解释。但如果你没有通篇看完,在Apache中没有加上Require valid-user指令的话,那是允许匿名操作的。我想,你不愿意留下这样的安全漏洞吧。

2. 怎样配置多个repository
这个也是实际中需要的,当然,在它的readme中其实是说得很清楚的。但我们有些同志就是喜欢拿来就试,尤其是在有些类似于我这种其实语焉不详的文章时,更是就喜欢照葫芦画瓢,而不去看最权威最原始的英文文档了。要配置多个repository,以HTTP协议为例,在web.xml中要删掉RepositoryUrl、Username、Password这3个参数的设置,然后加上ParentRepositoryDirectory参数,值自然是指向svn仓库的父目录了,比如 http://localhost/svn/,这个东西又是哪里来的呢?自然需要在Apache中配置,用SVNParentPath来指定svn仓库的父目录,Apache会自动解析其下所有的仓库的。这里要注意一下AuthzSVNAccessFile授权文件的写法,这里将配置所有仓库的存取权限,对于每个仓库,需要用[仓库名:/module]的方式来配置。

3. 怎样使用svn协议
前面我一直用http协议做例子,实在是因为我在其2.5.0下没有配置出来过svn协议:(。这次去其网站下载了个最新的nightly版本,发现其已经能够支持http, svn, svn+ssh, ssl和proxy等6种协议了。看看其代码结构,好象也发生了很大的变化,估计应该有比较大的改进。于是,用这个版本试了一把,呵呵,轻而易举就把svn协议给连通了,包括多仓库的情况。并且其还改进了原来设置父目录地址时一定要在最后添加/的要求,估计原来在这个地方卡壳的朋友也不少吧:)。不过,新版本还是不支持中文文件名,看我以前的帖子自己改吧。

Important: 由于svn webclient采用的javasvn(现已更名为svnkit)版本较低,用svn协议在提交老的文件时会失败,但添加新的文件时没有问题,所以,大家就不要再尝试svn协议了。如果不采用SVN协议,则其官方发布的版本就没什么问题了,已经有网友重新打包了一个解决了中文文件名的版本,到 这里下载。(Updated: 2007.1.20)

你可能感兴趣的:(SVN Web Client的几个小问题)