德尔福历史 - 源代码管理

时间:2009-01-28 20:35:18

标签: delphi version-control

在这里阅读了一些关于为单个开发人员使用源代码管理的优势的帖子后,在我看来,主要的优点是我将备份源文件的所有更改。 Delphi有一个内置的历史记录功能,默认情况下这样做。

这是真的相同还是我应该使用“真正的”源代码控制工具呢?

6 个答案:

答案 0 :(得分:22)

历史记录功能无法无限期地保存历史记录,您可能会在某一天删除__history目录,无论是因为您认为它是愚蠢的,还是因为您正在归档项目等。

如果您发布了源代码 - 即将其发送给第三方 - 您将希望能够跟踪您实际发布的内容。标签可以在源控制系统中提供帮助;然后,分支可以让您将修补程序应用于以前发布的版本,而不会进行扭曲,例如在不同的推进程度下使用相同的源代码维护多个目录。

答案 1 :(得分:7)

我从http://sourceitsoftware.blogspot.com/2008/07/starting-out-with-delphi-and-subversion.html开始有一系列关于版本控制的帖子。我不回答您的问题,但在以后设置版本控制时可能会有所帮助。

在我的脑海中,使用vcs的独奏开发者(我就是其中之一)的主要优点是:

  • 非现场备份(我使用网络托管设施)
  • 我可以很容易地看到整个更改历史记录(delphi是逐个文件,在找到构建125和126之间引入的错误时无效)
  • 维护应用程序的不同版本并轻松合并它们之间的更改的能力(即我在一个分支中处理v4,但我可以轻松地合并我在不同分支中为v3执行的错误修复)
  • 更容易进行推测性编程。即我可以尝试一些东西,如果它没有成功,我可以轻松恢复我的更改以恢复工作版本
  • 提供审核日志/更改历史记录。当我发布新版本时,我可以将更改历史记录复制/粘贴到自述文件中

这有点像单元测试。这需要一些时间才能进入,但一旦你这样做,它就会让生活变得更加轻松。

AFAIC是专业的。我不会为一家没有使用vcs的公司工作,在雇用没有使用vcs的程序员之前我会仔细考虑。

答案 2 :(得分:4)

德尔福的历史是有限的(我想10或25份?)。那么当你想要进一步回去时会发生什么?

版本控制还允许您拥有更改集,例如在SVN中,您可以看到同时签入了哪些其他文件。

此外,缺少源代码管理的所有其他优点:分支,合并,标记等。

答案 3 :(得分:3)

您应该将源保存在源控制系统中,delphi历史记录功能太有限,无法防止灾难性硬件故障。

但是,delphi历史记录功能仍然非常有用。当您在源代码管理中保持较大的更改时,您可以保留delphis历史记录中最新更改的简短历史记录。 我已经设置了delphi来为每个文件保留90个历史条目,如果我正在编辑单个文件,这通常会给我90分钟的最新工作历史记录。您可以使用它来比较您最近所做的事情,恢复您认为不应该删除的旧代码,但是您在上次登记后写的,如果您的pas / dfm已损坏则恢复最近的副本等等

因此,请将您的代码保存在源代码管理系统中(在另一台计算机上,最好是在另一个物理位置),但不要忘记delphi历史记录,因为它可能很有用。

答案 4 :(得分:3)

我是单个开发人员,现在已经使用Tortoise SVN一段时间了,并发现它很有用。我在笔记本电脑上进行开发,并将存储库放在另一台计算机上,因此我在不同的计算机上备份了我的代码(我也不时备份我的笔记本电脑)。我也很高兴我可以将我的代码检出到另一台计算机上并进行编译(在安装了一些第三方的零碎之后)。

另一个明显的优势是存储库中的源历史,但大多数情况下我一直在使用_History,因为我通常只想改变微小的变化 - 我还没有做过任何真正无能的事 - 但它只是一个时间问题; - )

我还没有分支/分配我的代码,但我想我可能会在需要时开始调查(并且我有信心)。

答案 5 :(得分:0)

delphi历史记录是否包含源代码的物理备份?

您确定从不让其他团队成员使用相同的代码吗?

Delphi历史记录是否显示了对代码进行更改的人员?

这些只是我能提出的几个问题。如果您对他们的回答是肯定的,那么德尔福的历史可能就足够了。