2009-01-28 154 views
1

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

这是真的一样,还是应该使用“真正的”源代码控制工具?

+0

德尔福的历史不会让你标注一组文件 – Mawg 2015-05-11 17:48:10

回答

22

历史记录功能不维护历史无限期的,你可以删除__history目录有一天,无论是因为你认为它是残酷的,或者因为你正在归档该项目等。

如果你曾经发布你的源代码 - 例如发送给第三方 - 你会希望能够跟踪你实际发布的内容。标签可以在源控制系统中帮助解决这个问题。然后分支可以让你将补丁应用到先前发布的版本,而不会进行扭曲,例如在不同程度的进步中使用相同的源代码维护多个目录。

+1

+1,尤其是标签。我也是一个开发人员(大部分时间),在过去的几年里,能够准确定位/重新创建进入特定版本的文件/代码非常有帮助。 (我使用Team Coherence,它非常适合于Delphi) – robsoft 2009-01-28 22:46:42

0

delphi的历史是否有源代码的物理备份?

你确定你会从来没有有其他团队成员工作在相同的代码?

是否Delphi历史显示你对代码进行了更改?

这些只是我能想出的几个问题。如果你对他们回答“是”,那么也许delphi的历史对你来说已经足够了。

4

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

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

此外,源头控制的其他所有优点都丢失:分支,合并,标签等

+2

你可以将它设置为高达90. – 2009-01-29 07:15:15

3

您应该将源代码保存在源代码管理系统中,delphi的历史功能太有限,并且不能防范灾难性的硬件故障。

但是,delphi的历史功能仍然非常有用。虽然在源代码管理中保留较大的更改,但您可以保留关于delphis历史记录中最近更改的简短历史记录。 我设置了delphi为每个文件保留90个历史条目,如果我正在编辑单个文件,这通常会给我90分钟的最新作品历史记录。你可以用它来比较你最近做了什么,恢复旧的代码,你决定你不应该真的删除,但你在上一次登记后写下来,如果你的pas/dfm损坏,恢复最近的副本,等等。

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

3

我是单一开发人员,现在一直在使用Tortoise SVN一段时间,并发现它很有用。我在笔记本电脑上开发,并在另一台计算机上安装了存储库,因此我在不同的计算机上备份了我的代码(我不时备份笔记本电脑)。我也感到很欣慰,我可以将我的代码检查到另一台计算机上并编译(在安装了几个第三方零件之后)。

另一个显而易见的优势是存储库中的源代码历史记录,但大多数情况下我一直使用_History,因为我通常只想反转很小的变化 - 迄今为止我还没有做过任何真正无能的事情 - 但它只是时间问题;-)

我还没有进入分支/分支我的代码,但我想我可能会开始调查,因为需要(和我有信心)。

7

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

关闭我的头顶,为使用VCS(我是其中之一)独奏开发商的主要优点是:

  • 异地备份(我用的是虚拟主机设施)
  • 我可以很容易地看到整个更改历史记录(delphi是逐个文件,在找到构建125和126之间引入的错误时无助于)
  • 维护应用程序的不同版本并轻松合并它们之间的更改(即I我在一个分支上工作在v4上,但我可以轻松地合并我在不同分支中为v3所做的错误修复)
  • 使推测式编程更容易。即我可以尝试一些东西,如果它不能解决问题,我可以轻松恢复我的更改以恢复到正常工作版本
  • 提供审核日志/更改历史记录。当我做新版本时,我可以将更改历史记录复制/粘贴到自述文件中

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

AFAIC它是关于专业。我不会为没有使用vcs的公司工作,在招聘一位没有使用vcs的程序员之前我会仔细考虑。

+0

@SeanX:在那篇博文中很好的介绍:“我总是受到我遇到的不使用版本控制的程序员数量的困扰。不能同意更多。 Delphi编辑器的历史在我看来完全是错误的努力。 – mghie 2009-01-29 11:23:48