0

我知道模板。我知道这已经被问过(这里这里)。请让我详细解释一下我的情况,希望您能理解我为什么再次问这个问题。

我使用名为PowerBuilder的 IDE(和语言) 。PowerBuilder (PB) 将源代码和二进制目标代码一起存储在 PBL (pibble) 文件中。一个 PBL 可以包含多个类的源代码。因此,将 PBL 置于版本控制之下是不切实际的。应该独立修订每个单独的类。但是,由于 IDE 使用的是 PBL 文件本身,并且由于 PBL 中存在目标代码,因此在克隆存储库时需要将这些文件推出。如果需要,我可以对此进行更详细的说明。

PB IDE 为 MSSCCAPI 接口提供挂钩,以便它可以支持源代码控制提供程序。它适用于 Visual Source Safe 6!但是 Mercurial 没有可用的 MSSCCAPI 提供程序。(我之前过。)是的,我正试图让创建 PB 的人支持更新的 API,但不知道这需要多长时间。IDE确实但是,它提供了自己的基本 SCC 功能。这不是一个“真正的”解决方案;它更像是“这会让你度过难关,你这个便宜的 b*****d,直到你可以购买真正的 SCC 程序”类型的东西。但是,它的工作原理是将每个类的源导出到单独的文本文件中,并为每个类创建一个相应的“状态”文件(PRP 文件)。文本文件?Mercurial可以追踪这些!仅供参考,这个基本的“通过”SCC 选项不会保留历史记录或处理合并。

让我详细介绍一下这些 PRP 文件。PB 的内置 SCC 解决方案是围绕排他锁构建的。退房,入住,所有这些旧东西。它通过 PRP 文件管理这些签出和签入。它还可以通过相应的 PRP 文件的存在来了解哪些内容在修订控制之下哪些内容不受修订控制。

所以首先使用 PRP 文件。我需要将这些推出(并为新类添加),以便 IDE 可以看到应该跟踪相应的类。如果没有 PRP 文件,IDE 不会导出语法,并且在 Mercurial 中无法跟踪任何内容。但是,如果我继续跟踪 PRP 文件的更改,那么这意味着我也在推出类的排他锁,而没有人想要这样。所以我需要添加 PRP 文件,但不跟踪对它们的任何后续更改。

我需要相同的二进制 PBL 文件。如前所述,我需要它们存在以便 IDE 知道哪些 PBL 构成了代码库,但是目标代码、编译和类相互依赖的复杂性意味着动态重新创建它们是不可行的。所以我需要将 PBL 添加到 Mercurial,但我真的不想跟踪对这些 PBL 的更改。虽然我可能能够使用 PRP 文件的模板,但我不能为这些二进制 PBL 文件做到这一点。

希望这能充分解释我的情况。我很抱歉这个问题太长了,但我想确保你清楚地了解我所面临的问题,这样我就不会得到一堆即兴的“这是 X 的副本”回应。感谢您的耐心等待以及您可以提供的任何指导。

4

2 回答 2

0

即使我无法理解这一点

如果我继续跟踪 PRP 文件的更改,那么这意味着我也在推出类的排他锁,而没有人想要这样。所以我需要添加 PRP 文件,但不跟踪对它们的任何后续更改。

即:“...没有人想要那个...”和“...添加 PRP 文件但不跟踪对它们的任何后续更改...” - 如果您不版本控制可更改(和已更改)的源我在将文件更改为 Mercurial 后,看不到添加过时的理由

您可以在 Mercurial 中添加、存储和忽略以后的文件。这个答案只需少量更改即可很好地玩游戏:因为您想要 .hgignore 完整工作副本(真的想要吗?)您可以使用hg up -r N

于 2012-11-09T20:44:28.457 回答
0

替代解决方案

于 2012-11-09T21:46:22.700 回答