6

I am a release engineer for a team of 35 programmers. We are working on PHP, Java, C# and SQL. We currently use Subversion, which has worked okay for about a year. We are going through a phase where conflicts are becoming more and more common. Our application footprints are growing, so performance is becoming an issue for checkouts and commits.

I'm wondering what commercial or FOSS version control systems and client software people can recommend that fit my profile: - Centralized repo - Simple merging - Fast exports, merges, checkouts - Conflict resolution

Thanks for you help!

; ) .randy

-- Added 2009-04-16 @ 06:21 PST

More info: our repo footprint is ~ 6GB. We've looked at Git and Bazaar. Great features and reasons to use them. We want a centralized repo.

4

8 回答 8

8

A common misunderstanding is that distributed version control systems like git or mercurial are no good for centralized repos. With that said I recommend you look at git if you haven't already.

于 2009-04-16T05:37:01.487 回答
2

Perforce是我的最爱。

于 2009-04-16T05:38:01.143 回答
2

尽管Git确实是一个不错的选择,但不要忘记“不断增长的应用程序占用空间”会带来其他问题,无论您最终使用什么 SCM

即:

  • 应用程序架构,以便将您的应用程序划分为更易于管理和独立(彼此)的“模块”(或组件)
  • 合并工作流程:您的 SCM 需要处理3-way merge,同时避免 sideway-merges。在维护阶段尤其如此,此时您既要维护生产中的版本,又要进行下一个版本的新开发。
  • 交付存储,以便轻松查询您的交付到测试环境、认证环境、生产环境......

关于合并功能,Perforce 或 Git 比 Subversion 更好,因为它们允许您合并任何您想要的子树,同时记住合并信息,并使用许多合并策略(我们的,他们的,...)。

即使在其最新的 1.6 版本中,Subversion 也仅支持从分支的根目录进行可靠 的合并(您可以合并子树,但合并到您当前签出的子树之外的子树并不准确)log

于 2009-04-16T12:04:12.360 回答
1

Bazaar可用于许多不同类型的工作流程。请参阅这篇关于在集中式工作流程中使用它的文章。

于 2009-04-17T10:39:57.693 回答
1

没有理由不能使用 Git 建立集中式存储库。Git 支持任何工作流

于 2009-04-17T10:45:49.800 回答
0

查看:

于 2009-04-16T23:07:38.543 回答
0

我们对borland 的Starteam很满意。即使是远程系统,签入/签出操作也很快,它还提供不同的视图和促销状态。

于 2009-04-16T12:18:33.200 回答
0

无论您采用哪种方式,请确保将FishEye添加到其中。随着复杂性的增加,有助于管理您的代码。

目前支持 SVN、Perforce 和 CVS。

于 2009-04-16T16:48:01.810 回答