1

注意:目前使用 Perforce 作为 CM 工具。

我目前做了几个软件调试版本[仅调试文件 (.pdb) 和二进制文件 (.dll 和 .exe)]。在每个版本中,我都会将用于生成二进制文件的所有文件检查到我们的 CM 工具(基线)中。然后我签出文件并继续进行更改。目前,如果其中一个版本存在问题,我们需要对其进行调试,我将不得不将代码恢复为使用的版本。

我的问题是,我应该如何轻松调试旧版本?如果我从刚刚做的基线创建一个分支,那么我可以轻松地构建以前的版本进行调试,但是比这更远呢?我不想每次做基线时都分支(很确定我不想这样做)。

我知道使用 VHDL,您可以使用测试点创建构建并使用 Xilinx 工具来调试任何构建的 VHDL 版本。是否有类似的方法可以在 VS 中执行此操作(可能使用 .pdb 文件和一些外部工具)?

您如何进行基线修订,以便您可以轻松调试旧版本?

4

3 回答 3

2

Eric Sinc 有一个很棒的Source Control HOWTO,涵盖了这个主题(以及更多内容)。

我强烈推荐阅读它,因为这个人知道他的东西。

您对第 6 章:历史第 7 章:分支最感兴趣。

当我学习源代码控制和软件发布策略时,这些东西真的帮助了我。

于 2009-07-10T19:18:45.997 回答
1

使用 p4 你不必创建一个分支来“回到过去”。您所要做的就是同步到适当的标签或更改编号。例如,如果您要重新创建 ProductX 的 1.1 版,并且 p4 中的最后一次更改是更改编号 2000,您可以执行以下操作:

p4 sync //depot/ProductX/...@2000

或者如果使用了标签,例如“Release1.1”,您可以这样做:

p4 sync //depot/ProductX/...@Release1.1

或者,如果您无法弄清楚这些,您甚至可以尝试在某个日期进行同步。如:

p4 sync //depot/ProductX/...@2009/02/01:12:15:00

有关 p4 中有关文件修订的更多信息,请尝试以下操作:

p4 help revisions
于 2009-07-10T19:37:45.630 回答
0

警告 - 对我来说已经有一段时间了,perforce:

对于 perforce,我可能会继续并“标记”每个版本(在 perforce 中,标记文件会创建一个标签)

然后你可以签出一个标签来调试它。 如果您需要进行更改并针对该旧版本推出“修补程序”,您可以从该标签而不是 HEAD 创建一个分支。

标记非常简单,“p4 tag -l release2.0 //depot/bch/...”

从标签分支并不太难,您需要创建一个新分支然后从源标签集成:“p4 integration -b [branchname] -s //depot/bch/...@release2.0”

请注意,您也可以标记代码的以前(历史)版本,或者也可以从以前的提交创建分支。

于 2009-07-10T19:36:20.970 回答