3

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

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

4

3 回答 3

1

一般来说,SVNKit 是颠覆的完整 Java实现。是的,它比原生的慢得多。因此,如果您不限于仅使用 Java 代码,您可以尝试:

  • 使用本机 SVN C API。
  • 使用 SVN Java 绑定

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

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

于 2010-04-19T05:33:48.807 回答
0

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

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

只是好奇,您的 SVN 服务器托管在哪里?您的网络内部还是外部?可能是因为网络慢?

于 2010-04-19T05:29:20.223 回答
-2

这确实不是很多信息,主要是作为谣言传播:

  • SVN 存在严重的扩展问题,因为用户数变成了三四位数。人们倾向于提取副本,并且存在一些较差的缩放选项。
  • 商业产品 PerfForce 没有缩放问题。
  • GIT 没有扩展问题,尽管它很容易损坏。
  • Mercurial 运行良好且可扩展。然后有人的高马出现,并且在签入非常大的文件时大吃一惊。它也有 CR/LF 问题。

这都是谣言。

于 2010-04-19T05:34:24.213 回答