我需要向Mercurial添加一个文件,但不跟踪对它的更改

时间:2012-11-09 19:04:14

标签: version-control mercurial powerbuilder

我了解模板。我知道之前已经问过这个问题(herehere)。请让我详细解释一下我的情况,希望你能理解为什么我再问这个问题。

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

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

让我详细介绍一下这些PRP文件。 PB的内置SCC解决方案围绕专用锁构建。退房,办理登机手续,所有旧的东西。它通过PRP文件管理这些结账和签到。它还通过相应的PRP文件的存在知道以及不是在修订控制下的内容。

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

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

希望这完全解释了我的情况。我很抱歉这个问题已经很久了,但是我想确保你清楚地了解我的情况,以便我没有得到一堆袖手旁观的“这是X的重复”响应。感谢您的耐心和任何指导。

2 个答案:

答案 0 :(得分:0)

即使我无法理解这个

  

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

即:“......没有人想要......”和“...添加PRP文件但不跟踪对它们的任何后续更改......” - 如果你没有版本控制可更改(以及已更改)来源我无法看到在将文件更改为Mercurial后添加过时的原因

您可以在Mercurial中添加,存储和忽略以后的文件。 This answer通过小改变很好地玩游戏:因为你想要.hgignore完整的工作副本(真的想要?)你可以使用hg up -r N

答案 1 :(得分:0)

替代解决方案