适用于Delphi 2009的好的版本控制软件

8

有没有人有好的想法可以用来解决这个问题?

(这段文字已经是中文,无需翻译)

2
你是否有特别需要为 Delphi 使用专门的版本控制系统?我对于所有项目都使用 Subversion 非常满意,但我从未使用过 Delphi。 - Thomas Owens
Thomas,我猜他懒得右键单击文件夹,然后单击提交。他想要与IDE集成的东西 :-) - curious slab
14个回答

19

3
SVN 是用于集中式版本控制的最佳选择。如果您需要分布式版本控制,它就不够用了。 - Thomas Owens

16
我使用QSC的Team Coherence。它可以很好地集成到Delphi中(我认为独立桌面客户端应用程序本身也是用Delphi编写的),并且可以通过网络/ Web等方式使用。
作为一名“孤独开发者”,我使用它来在任何地方获取我的源代码。它可以很好地处理所有明显的源代码控制工作(版本控制、历史记录、比较),我对它很满意。
它不是免费的,但如果您想要真正插入Delphi IDE,并且“理解”Delphi源代码和项目(例如,检出表单是单个操作 - .DFM和.PAS在TC的思维中智能链接在一起),那么值得一看。我对它相当满意。

1
如果你是那个给我点了踩的人,请问能否解释一下为什么呢?这个问题是关于 Delphi 友好的版本控制系统,而 TC 显然就是其中之一。也许是因为我对 Subversion 进行了“时髦”的批评而被惩罚了吧...? :-) - robsoft
1
我不知道 Team Coherence,但是也许一些人之所以给它点反对是因为他们认为这是个糟糕的选择?如果那些人能够留下评论来解释他们的反对,那真的会非常有帮助,而不是让我们在这里猜测。 - Arjan
3
我将删除有关版本控制工具“Subversion”的评论,因为我一直被一些匿名的懦夫投票否决,他们不费心思地投反对票而不解释原因。这篇评论已经被否决了大约8次,可能是由于Subversion的狂热粉丝不安全,不允许陌生人在互联网上称他们选择的版本控制工具为“时髦”的缘故。叹气 - robsoft
嗨,我刚刚发布了一篇关于我的TC使用经验的文章。不确定它是否解释了任何负评,但希望它能为考虑使用它的人增加另一个视角。 - dominic

7
所有版本控制系统都可以很好地为您工作。您不需要为Delphi或任何语言使用特定的版本控制系统。
一些想法:
  • Subversion (集中式且易于安装和学习)
  • Mercurial (分布式且易于学习)
  • Git (分布式; 最适合Linux,不适合Windows; 可以完成所有任务)

1
Git在Windows下运行非常出色。我在Linux和Windows下使用它进行各种事情。现在,Git是最好的工具。我曾经使用过VSS、PVCS、ClearCase、CVS和Subversion,但Git在性能和工作流程的灵活性方面都胜过它们。 - Don Branson
1
我注意到你没有提到另一个分布式版本控制系统。此外,Windows版的Git需要Cygwin或Msys支持,我认为这并不是本地支持。 - geowa4

4
我已经从VSS转移到了SubversionTsvn,您可以查看我之前提出的有关使用Delphi更好的版本控制系统替换VSS的问题“远离VSS”
为了使转移到Subversion变得容易,请使用VisualSvn服务器,它非常容易安装和使用。
转移到Subversion的好处是,下一个Delphi版本将从IDE内部支持它。

2010 beta中是否集成了Subversion? - Wouter van Nifterick
正如Nick所说,这将是一个独立的项目,并将在D2010的最终版本发布后发货。 - Mohammed Nasman


4
我想推荐Plastic SCM。我们以前使用Team Coherence,但由于多种原因(慢、错误等),我们选择了Plastic SCM:http://www.codicesoftware.com/xpfront.aspx 非常好的支持(电子邮件反应主要在1小时内!)它有极好的分支和合并支持!与传统版本系统如TC、CVS等相比,多开发人员任务驱动的并行开发工作得更好。

+1,我也在使用它,而且没有找到更好的(免费的;即使商业使用最多可达15个用户)。此外,他们还向我发送了一件免费的T恤衫,以回答关于我的使用情况的问题,以帮助他们改进(如果他们能送来培根就更好了!)。技术支持也非常出色。 - Mawg says reinstate Monica

2

正如早些时候的一位评论者提到的Team Coherence,我想根据我的经验添加一些评论。

我曾与另外三到四个人组成的小团队使用Team Coherence(TC)两年时间,然后我们换成了AccuRev。我认为,对于单个开发人员而言,如果他们使用Delphi并且版本控制要求简单,那么使用TC可能还可以接受。

然而,(除其他事项外),我们需要能够:

  1. 在支持主线开发的同时,保留一个用于紧急客户错误修复的发布分支。
  2. 将我们的故障跟踪系统中的项目与已检入的更改集相关联(“更改集跟踪”)。

我们发现使用TC进行分支非常令人困惑。使用AccuRev支持我们的分支需求要容易得多。

此外,TC不支持将checkin分组为change-sets,因此它无法真正满足需求2。

然而,AccuRev比TC更昂贵。Subversion是免费的,并且似乎很好地支持分支,但由于我只在家里使用它进行了非常小的项目,因此我将让其他更有经验的人推荐或不推荐它。

简而言之,如果您需要支持多个分支或更改集跟踪,则不建议使用TC。但是,如果您的版本控制要求很简单(check-in、check-out、版本差异),并且您使用Delphi,则TC可能是一个适当的选择。


作为之前的留言者,我同意你在TC方面的一些评论,Dominic。我的一位客户使用它(我与那里的开发人员合作),尽管他们使用 TC 的 Tracker 来跟踪错误,但似乎与源代码控制本身的实际集成很少。 - robsoft

2
我建议使用分布式版本控制系统(DVCS)。为了避免激烈的争执,我不会指定一个具体的软件,但有几个大的选择,比如Git,Mercurial和Bazaar,它们都非常好用。
这些软件使你能够离线工作并在任何计算机上工作,同时保持版本历史记录。
此外,由于是分布式的,所以你不需要中心服务器,如果一台计算机崩溃了,你仍然可以继续工作。 这篇文章 是一篇关于DVCS与传统VCS(如SVN)的好文章。

4
一个分布式版本控制系统并不能替代一个适当的备份策略。 - mghie
1
他在询问版本控制,而不是备份策略。分布式版本控制系统非常适合版本控制。如果正确设置,它们也可以通过将主线副本放置在某个备份服务器上成为备份策略的一部分。 - samoz
2
你把崩溃的电脑拿进来了... - mghie
另外,RAID也不是备份。既然你在谈论备份,如果计算机崩溃了,是的,你的数据可能会分布式存储,SVN通常已经足够了。 - Osama Al-Maadeed
1
然而,DVCS不仅仅是足够好的,它更好。 - samoz

2
首先,不要仅仅根据与IDE的集成程度来选择您的版本控制系统!
众所周知,Subversion几乎是现代版本控制软件的事实标准。
个人而言,我只使用TortoiseSvn,并不担心与IDE的集成。
如果您想要与IDE集成,请看Epocalipse的SourceConnexion。他们有一个D2009版本。
Codegear暗示SVN集成可能会在下一个Delphi版本中出现。

1

我所在的公司使用Vault,但是我会建议使用它吗?嗯,至少比我们之前用的VSS好。

我们结合了SourceConneXion,这是一个Delphi IDE插件,支持多种源代码控制产品,包括Vault、Subversion、CVS和其他你能想到的。

由于我们同时在Delphi和.NET上进行开发,这些产品对我的组织来说非常有效。

顺便说一下,如果您是单个开发人员,只需要一个许可证,那么Vault是免费的


1
我们公司也使用Vault,我们一直对它非常满意。如果您查看Vault网站,他们与Subversion进行了有趣的比较。 - Alistair Ward

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接