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

Version control 我需要向Mercurial添加一个文件,但不跟踪对它的更改,version-control,mercurial,powerbuilder,Version Control,Mercurial,Powerbuilder,我知道模板。我知道以前(和)有人问过这个问题。请让我详细解释我的情况,希望你能理解我为什么再次问这个问题 我使用的IDE(和语言)称为。PowerBuilder(PB)将源代码和二进制目标代码存储在一个PBL(pibble)文件中。PBL可以包含多个类的源代码。因此,将PBL保持在版本控制之下是不实际的;应该独立修改的是每个单独的类。但是,由于IDE使用的是PBL文件本身,并且由于PBL中存在目标代码,因此在克隆存储库时需要将这些文件推出。如果有人要求,我可以更详细地说明这一点 PB IDE为M

我知道模板。我知道以前(和)有人问过这个问题。请让我详细解释我的情况,希望你能理解我为什么再次问这个问题

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

PB IDE为MSSCAPI接口提供了挂钩,因此它可以支持源代码控制提供程序。它与Visual Source Safe 6配合使用效果非常好!但是Mercurial没有可用的MSSCAPI提供程序。(我以前有过。)是的,我正试图让创建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的重复”回答。感谢您的耐心和提供的指导。

即使我不明白这一点

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

也就是说:“…没有人想要那个…”和“…添加PRP文件,但不跟踪对它们的任何后续更改…”-如果您没有版本控制可更改(和更改)源,我看不出将过时的首次更改后文件添加到Mercurial的原因


您可以在Mercurial中添加、存储和忽略以后的文件。用小的变化好好玩游戏:因为你想要。hg忽略完整的工作副本(真的想要吗?)你可以使用
hg up-r N

替代解决方案

  • -乌龟VN(SVN)
  • -RDBMS之上的SCM
  • -分别为Git或SVN

Mercurial是最终版本,未讨论选择或替代方案是可能的?>“Mercurial没有可用的MSSCAPI提供程序”-但该支持的旧版本如何?@Lazy Badger,您发布的文件导致PowerBuilder崩溃。我怀疑它是我在第三段中测试并在问题中提到的同一个提供者。这就是为什么我说没有可用的提供者(可能是克隆旧的HgSCC版本并开始调试?当你问我之前,我看了看什么被撕掉了,它似乎没有那么多,但正如我所记得的,它看起来不太容易集成回(例如,在一个分叉中,可以为接口的HG端提取新代码)。修复旧的代码库可能不会太难。PBSCC代理确实可以工作,因此您可以将其用作MSSCAPI端的参考。另一个角度是破解PBSCC代理以与HG对话。除了在SVN WC的数据中达到峰值之外,它还运行命令行客户端。休,在某种程度上,我正在破解PBSCC代理。尽管我没有修改直接使用它的库,我正试图将它的版本数据库用于其他目的(将它的“数据库”推到Hg中)。使用HgSCC源代码对我来说肯定是一种具有强大学习曲线的教育体验。SVN用于版本控制,而不是一些人所认为的版本控制(乔尔·斯波尔斯基)相信这会使它难以用于分支、合并和并发开发。WizSource也是一个创建版本控制系统,但根本不支持分支和合并,因此它不适用于并发开发。我正在查看Git的PushOk插件,这可能是一个巨大的帮助。不管我多么欣赏它,我的stion不是关于替代品的,所以我不能标记