场景:我已经“继承”的程序,保持水银下,只有我的工作与特定的调整,以某些文件,这些文件在签系统上我不要签这些调整可以Mercurial做反向修补吗?
。我最近的解决方案是创建一个包含这些调整的mercurial补丁文件(hg diff> patchfile);当我需要检查更改时,我只需反向应用修补程序,提交并重新应用修补程序。 (如果我完全控制了源代码,我只是将所有这些小小的调整移动到一个不受版本控制的配置文件中,将“示例”配置文件置于版本控制之下)
不幸的是,似乎虽然GNU patch
命令支持--reverse
标志,但它不支持hg的多文件比较格式作为单个补丁文件(或者它可以,我只是不知道它的开关?)。 OTOH,hg有自己的patch
命令,可以应用diff,但不支持任何种类的reverse
标志。
所以我的问题是双重的:
- 如何应该这将在水银做了什么?当然挂在“调整补丁”并不是处理这种情况的唯一方法。也许mercurial有一个插件或内置的这种暂时的,不可改变的变化。
- 除了应该怎么做,有什么办法可以将这样一个mercurial diff-patch应用到这样的mercurial repo吗?还有其他情况下,这些功能将是有用的。
这接近我想要的(我必须承认,我从来没有把学习MQ努力到现在为止)。然而,现在我已经将我的补丁添加到mq中并且做出了我想提交的更改,“hg ci”抱怨说我“无法承诺应用的mq补丁”。在提交之前,我不能'补丁'补丁,因为补丁中有本地更改。这似乎是一个阻碍MQ解决问题的障碍,除非我错过了一些东西。 – eternicode 2010-11-26 22:58:41