版本控制的Subversion

时间:2010-04-19 05:13:57

标签: svnkit

我正在开发一个应用程序,其主要目的是提供源代码管理。我的想法是使用SVNKit进行文件签出和签到。然而,在使用SVNKit时,我意识到它没有我想要的速度。 例如,每当开发人员创建一个可以包含3-40文件更改的ChangeRequest时,我就必须创建一个分布在32个文件夹中的目录结构。这样做大约需要50秒,另一个例子是创建变更请求后,开发人员可以将文件添加到请求中。将一个文件从Trunk复制到分支大约需要6-7秒。 我的问题是,有没有人有这样的经验,你做了什么来提高性能?而且,我的方法是否正确?

注意:我使用的是“http”协议,不能使用“svn”协议。

3 个答案:

答案 0 :(得分:1)

一般来说,SVNKit是subversion的完全Java 实现。是的,它比原生的慢得多。因此,如果您不限于Java Only代码,您可以尝试:

  • 使用原生SVN C API。
  • 使用SVN Java绑定

更多信息请参阅:http://svnbook.red-bean.com/en/1.5/svn.developer.usingapi.html 框“SVNKit与javahl”

另请注意......协议对性能几乎没有影响(真的)。

答案 1 :(得分:0)

我不知道细节(什么样的文件,单个文件有多大?),但SVN并不那么慢。

我们在这里使用它并且工作正常。

好奇,您的SVN服务器托管在哪里?在您的网络内部或外部?由于网络可能会很慢?

答案 2 :(得分:-2)

这真的没有太多的信息,大多是传言作为谣言:

  • SVN存在严重的扩展问题,因为用户数为三位或四位。人们倾向于提取副本,并且存在一些不良的缩放选项。
  • 商业产品PerfForce没有缩放问题。
  • GIT没有扩展问题,但很容易腐败。
  • Mercurial效果很好,可以很好地扩展。然后某人的高马出现并检查非常大的文件。它也有CR / LF问题。

这都是谣言。