【发布时间】:2010-10-04 02:29:54
【问题描述】:
在这里阅读了一些关于为单个开发人员使用源代码控制的优势的帖子后,在我看来,主要优势是我将对源文件的所有更改进行备份。 Delphi 有一个内置的历史函数,默认情况下会这样做。
这真的一样吗?还是我应该使用“真正的”源代码控制工具?
【问题讨论】:
-
Delphi 的历史不允许你标记一组文件
在这里阅读了一些关于为单个开发人员使用源代码控制的优势的帖子后,在我看来,主要优势是我将对源文件的所有更改进行备份。 Delphi 有一个内置的历史函数,默认情况下会这样做。
这真的一样吗?还是我应该使用“真正的”源代码控制工具?
【问题讨论】:
delphi 历史记录是否对您的源代码进行了物理备份?
您确定您将永远不会让其他团队成员处理相同的代码吗?
Delphi 历史记录是否向您展示了谁对代码进行了更改?
这些只是我能想到的几个问题。如果你对他们的回答是肯定的,那么也许 delphi 历史对你来说就足够了。
【讨论】:
Delphi 的历史是有限的(我认为是 10 或 25 份?)。那么,当您想进一步返回时会发生什么?
版本控制还可以让您拥有更改集,例如在 SVN 中,您可以查看同时签入的其他文件。
此外,源代码管理的所有其他优点都没有:分支、合并、标签等。
【讨论】:
history 函数不会无限期地维护历史,你可能有一天会删除 __history 目录,无论是因为你认为它很粗糙,还是因为你正在归档项目等等。
如果您曾经发布过您的源代码 - 即将其发送给第三方 - 您将希望能够跟踪您实际发布的内容。在源代码控制系统中,标签可以帮助解决这个问题;然后,分支可以让您将补丁应用到先前发布的版本,而无需进行扭曲,例如以不同程度的进步维护具有相同源代码的多个目录。
【讨论】:
您应该将源代码保存在源代码控制系统中,delphi 历史记录功能太有限,无法防止灾难性的硬件故障。
不过,delphi 的历史功能还是很有用的。当您在源代码控制中保留较大的更改时,您可以保留 delphis 历史中最近更改的简短历史。 我已将 delphi 设置为为每个文件保留 90 个历史记录条目,如果我正在编辑单个文件,这通常会给我 90 分钟的最新工作历史记录。您可以使用它来比较您最近所做的事情,恢复您认为不应该真正删除但您在上次签入后编写的旧代码,如果您的 pas/dfm 已损坏,则恢复最近的副本等等.
因此,请将您的代码保存在源代码控制系统中(在另一台计算机上,最好在另一个物理位置),但不要忘记 delphi 历史记录,因为它很有用。
【讨论】:
我是一名开发人员,并且已经使用 Tortoise SVN 有一段时间了,并且发现它很有用。我在笔记本电脑上进行开发并在另一台计算机上拥有存储库,因此我在另一台计算机上备份了我的代码(我有时也会备份我的笔记本电脑)。我还发现我可以将我的代码检查到另一台计算机上并编译(在安装了一些第三方的零碎组件之后),这让我感到很欣慰。
另一个明显的优势是存储库中的源历史记录,但大多数情况下我一直在使用 _History,因为我通常只想撤销微小的更改——我还没有做任何真正不称职的事情——但这只是一个时间问题;-)
我还没有对我的代码进行分支/分叉,但我想我可能会在需要时开始研究这个问题(我有信心)。
【讨论】:
我有一系列关于版本控制的帖子,从 http://sourceitsoftware.blogspot.com/2008/07/starting-out-with-delphi-and-subversion.html 开始。我不回答你的问题,但在以后设置版本控制时可能会有所帮助。
在我看来,使用 vcs(我就是其中之一)的独立开发者的主要优势是:
这有点像单元测试。这需要一些时间才能进入,但一旦进入,它会让生活变得更轻松。
AFAIC 是关于专业的。我不会为不使用 vcs 的公司工作,在雇用不使用 vcs 的程序员之前我会仔细考虑。
【讨论】: