一个小型Delphi团队应该选择哪种好的版本控制系统?

6

可能的重复问题:
小型数据库开发团队的源代码控制系统
Delphi 2009的好的版本控制软件

我们是一个由4名开发人员组成的小团队,需要一个好的版本控制系统供内部使用。 其中有2名开发人员在家远程工作,另外两名则大多数时间在办公室。

我们是Delphi开发人员,因此希望找到一个在Delphi代码中有良好记录的版本控制系统。 它还必须能够跟踪诸如数据库结构和其他相关文件之类的东西。

���已经看过SVN和CVS,但我很难找到可以与WinXP上的Delphi 7一起使用的插件或易于使用的客户端。

有什么建议吗?


5
重复问题,其中包括 https://dev59.com/IEXRa4cB1Zd3GeqPsoyE。请注意,这只是翻译,不含解释或其他内容。 - anon
数据库结构可以看看我在这里的评论:http://stackoverflow.com/questions/1790755/sql-server-2008-auto-backup/1790907#1790907 - Murph
9
CVS已经过时,甚至不应考虑使用。 - Álvaro González
2
我意识到这是一个轻微的重复,但我特别在寻找适用于 Delphi 的任何有效插件等。对于想要为 Delphi 使用源代码管理系统的人来说,信息并不是很丰富。 - LizHanson
感谢您所有的评论。我们已在服务器上安装了VisualSVNServer。将尝试使用Tortoise和Jedi Add-in for Delphi,并查看哪个最适合团队中的每个人。 - LizHanson
CVS并不过时,因为CVSNT和SVN一样好,并且有更好的ACLs。 - user160694
13个回答

33

我向 TortoiseSVN 发誓,它是一个非常顺畅地集成到 Windows Explorer 的 svn 客户端。

我知道这不会给你 IDE 集成,但如果你喜欢使用命令行,它可以让你远离命令行。

我绝对建议选择 svn 而不是 cvs。svn 可以被称为 "cvs 2" - 它基本上是 cvs,但删除了很多痛点。例如,在 svn 中,你可以重命名文件,但在 cvs 中,你必须删除它们并重新添加它们。

总的来说,我不是完全依赖 IDE 集成来进行版本控制的粉丝。有各种各样的活动(合并、分支等)最好在 IDE 之外完成,这样你就可以更紧密地控制你正在做的事情。


CVS 中的重命名功能真的被怀念! - Martin Hoegh
1
易于操作且成本低廉的分支和合并跟踪。 - Marco van de Voort
CVSNT具有重命名、原子提交和更好的分支/合并功能(即合并点)。 - user160694
1
Subversion集成Delphi IDE有两种易于使用的方式:
  1. 据我们所知,未来将通过一个附加组件发布到Delphi 2010中。
  2. 下载JEDI JCL,最新版本包括Subversion的IDE集成。
- Warren P

16

看看 MercurialGit,可以帮助处理远程用户,而且有客户端应用程序与 Windows Explorer 集成,因此您不应该遇到语言依赖性问题。 对于 Mercurial 也有一个Tortoise 客户端


我发现GIT和Mercurial在强制集中控制方面不是很方便(这是Subversion支持的模型)。在这方面的一次重大变革将会对我们公司的开发流程产生连锁反应。 - Warren P

16

如果您使用Windows服务器,我更喜欢使用Subversion。在这种情况下,可以很容易地设置VisualSVN服务器


是的。Visual SVN是一款非常易于安装的Subversion服务器。 - Warren P
VisualSVN很好(我们在使用它),但请注意与“vanilla”Apache SVN服务器相比,它有一些微小的缺陷(实质上,VisualSVN是一个“shrink wrapped”的Apache+SVN发行版),特别是在使用Windows集成认证时。这些问题并不严重,但在试图集成工具/扩展时会让人感到棘手,因为指令/社区经验假设使用“vanilla”Apache(例如WebSVN)。 - Deltics

9

如果您正在寻找一个中心服务器系统,可以考虑使用Subversion,它易于使用。同时,TortoiseSVNSubversion和Windows Explorer完美集成。

如果您正在寻找一个分布式版本控制系统,可以考虑Git(还有诸如MercurialBazaar等)。TortoiseGit可以与Windows Explorer集成。


1
分布式版本控制系统是团队中的一部分远程工作时的一个有吸引力的选择。 - Álvaro González

5

JCL有一个Delphi IDE版本控制插件(CVS + SVN):http://jcl.delphi-jedi.org/

不是免费的,但是非常好用的系统是“PlasticSCM”:http://www.plasticscm.com/demos/plastic28/index.html 可以使用分支,这对于并行开发(“任务模式下的分支”)非常有用。对于每个任务(票务、错误、问题等),您都需要创建一个子分支。Plastic会更新您磁盘上的“工作区”,以便所有文件都具有正确的版本。您可以进行任意更改和提交,因为您是在自己的分支中工作,所以如果您提交了无法编译的内容,其他人也不会遇到麻烦!这个功能非常棒!

如果您切换到另一个分支(因为您必须快速修复错误),所有更改都会被“搁置”在服务器上,当前工作区会自动更新到另一个分支,您可以进行一些更改+提交,然后切换回您之前工作的分支,所有文件都将被取消搁置,您可以继续之前的工作。非常非常好用。

它拥有一个非常酷的GUI客户端,还可以在Linux上使用,我们使用第三方Delphi IDE插件:http://www.epocalipse.com/scx.htm


我尝试使用你提到的 Delphi IDE 插件,但它在 Delphi 7 中一直引发错误。你用的是哪个版本的 Delphi? - LizHanson
我们使用D2007。是什么样的错误?只读文件?Delphi不喜欢这样,但这更多是一个Delphi的问题... - André
这不是只读文件。我记不清错误是什么了,但主要是在关闭 Delphi 时出现的。我很快就卸载了它。 - LizHanson
四年后,我在两个月前才发现了PlasticSCM。我正在使用它与Delphi(以及C / C ++,PHP,JS)一起使用-我还将其用于文档编写。PlastiSCM对于“小团队”-最多15个用户是免费的,但如果您的公司喜欢它,为什么不捐赠呢?它可以在传统的签出/签入模式下工作,但(默认情况下)它也可以在“透明模式”下工作,这意味着它会监视您的PC文件系统并检测是否更改了任何文件。以这种方式使用,无需插件,因此可以与包括Delphi在内的任何IDE一起使用。功能非常棒,但我已经没有空间了。试试吧! - Mawg says reinstate Monica

4

3

http://jedivcs.sourceforge.net/

JEDI版本控制系统客户端 - IDE专家版,从Delphi 5...>>到RAD 2010 - 独立版本。 - 命令行版本。

JEDI版本控制系统服务器 - Firebird - Oracle - MS-SQl - DBISAM - Informix


3

如果你正在寻找一个有大量工具和支持的CVS,那么基本上可以选择Subversion(TortoiseSVN相当不错)。

我自己决定在小团队项目中使用Mercurial,因为它非常容易克隆存储库并在离线时继续检查/提交代码。此外,它是用Python编写的,因此在Windows、Mac和Linux上最少的麻烦就可以运行(我相信对于Windows还有一个TortoiseHg UI应用程序)。


2

1
如果你想在Windows上使用一个易于使用的cvs和svn客户端,可以看看Tortoise http://tortoisesvn.tigris.org/。它非常好用,而且具有右键功能。

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