场景:我“继承”了一个程序,保存在 Mercurial 下,该程序仅适用于我的系统,并对签入的某些文件进行了特定调整。我do not想要检查这些调整。
我最近的解决方案是创建一个包含这些调整的 Mercurial 补丁文件(hg diff > patchfile);当我需要检查我的更改时,我只需反向应用补丁、提交并重新应用补丁。 (如果我完全控制源代码,我只需将所有这些小调整移至不受版本控制的单个配置文件,将“示例”配置文件置于版本控制之下)
不幸的是,虽然 GNUpatch
命令支持--reverse
标志,它不支持 hg 的多文件 diff 格式作为单个补丁文件(或者也许它支持,但我只是不知道它的开关?)。 OTOH,hg 有自己的patch
可以应用差异的命令,但不支持任何类型reverse
flag.
所以我的问题是双重的:
- How should这可以在 Mercurial 中完成吗?当然,坚持“调整补丁”并不是处理这种情况的唯一方法。也许 Mercurial 有一个插件或内置的东西来处理这种临时的、不可提交的更改。
- 除了事情如何should完成后,有什么方法可以将这样的 Mercurial diff 补丁反向应用到像这样的 Mercurial 存储库中吗?在其他情况下,此类功能也很有用。
水星的patch
命令(真的import
) 不支持反向,但是hg diff
做。使用--reverse
在此基础上,您将获得 Mercurial 可以应用的反向补丁。
但是,您所描述的是一个非常常见的供应商分支样式工作流程,mercurial 可以更好地支持使用 diff 和 patch 之外的功能。
具体来说,Mercurial 队列 http://hgbook.red-bean.com/read/managing-change-with-mercurial-queues.html正是你想要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)