gpt4 book ai didi

python - 当基于补丁的工作流程失败导致您的存储库中出现 .rej block 时,是否有任何补丁工具可以与 Mercurial 配合良好

转载 作者:行者123 更新时间:2023-12-01 06:06:06 25 4
gpt4 key购买 nike

我正在寻找比 Mercurial 内置的补丁工具更好的补丁工具,或者是可视化工具来帮助我编辑补丁,以便它们被 Mercurial 或 Gnu 补丁接受。

mercurial wiki 有一个主题 HandlingRejects这表明修补失败是多么简单。我希望为功能分支版本控制实现一个基于 Mercurial 的工作流程,该工作流程基于功能分支,并依赖于在集成之前导出和审查补丁。在我对这个想法的初步测试中,我的“修补程序”和“审查、接受和修改”修补程序中最薄弱的环节是修补程序拒绝使我关闭的方式。

以下是一些 Mercurial 补丁导入失败的常见情况:

对上游 repoA 和功能分支 repoB 进行了细微更改,其中在两个分支上的某处添加了一行。由于两个分支都有历史记录,因此 merge 工具应该可以看到“有人在 repoA 中添加了一行,而其他人在 repoB 中添加了一行”。但是,在补丁导入的情况下,这会导致补丁导入被拒绝,并且您的存储库中会出现一个 .rej 文件,您必须手动修复该文件(通过编辑 .rej 文件直到可以应用它)。

上面的 wiki 页面提到了找到的 mpatch 工具 here 。我正在寻找其他更好的 merge 工具,它们(a)与 Mercurial 一起使用,并且(b)可以处理上面处理拒绝 wiki 页面中提到的小情况。请注意,mpatch 不适用于我的目的,似乎我需要的东西更像是一个 rebase 工具而不是修补工具,就我而言,我可能必须使修补工具具有语法意识(因此特定于单一编程语言)。

我正在寻找可在 Windows 上工作的工具,无论是 native 的还是通过 cygwin 之类的工具。尽管我对 Linux/Unix 风格的工具很满意,但我没有使用 Unix/Linux 环境。

我目前没有使用mq扩展,只是使用hg导出导出更改范围,并使用hg导入进行导入,其余的工作是我自己的发明,但是我已经标记了这个mq,因为 mq 用户会熟悉这个 .rej 处理问题。

相关问题here展示了使用 TortoiseHg 时解决此类问题的方法。

最佳答案

Emacs 非常有能力处理 .rej 文件。

但是,如果可行的话,我会尽可能使用 hg pull --rebase 。我经常发现自己想要将某些补丁谱系重新设置到我已经拉取的另一个变更集上。在这些情况下,我只需剥离更改集并再次从 .hg/strip-backup 中提取它,从而允许我使用 --rebase

关于python - 当基于补丁的工作流程失败导致您的存储库中出现 .rej block 时,是否有任何补丁工具可以与 Mercurial 配合良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7933032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com