我在存储库上使用汞队列,并将这些补丁放在补丁存储库中。另一个贡献者克隆了我的补丁队,并进行了更改。我现在想将它们的更改合并到我的本地补丁存储库中。

我试图找到一个良好的工作流程,以执行这种合并

  • 反映了补丁存储库历史上的贡献者的更改
  • 在发生冲突的情况下调用用户的合并工具

最初,我只是试图直接合并补丁。在非常简单的情况下,这是可以的,但是当许多事情发生变化时,效果不佳,因为补丁取决于行号上下文,这似乎不必担心调整自己。总体而言,我发现检查了三种斑点的三种差分太复杂。

有没有更好的办法?

有帮助吗?

解决方案

没有很好的方法来处理这一点。我可能最终要做的是创建两个克隆,然后 qfinish将您的补丁添加成一个,另一个贡献者补丁。这一点您将在应用每个单独的补丁的净效果的情况下都有回购。然后你 hg pull 其中一个克隆进入另一个, hg merge 将让您使用图形工具合并补丁的结果 - 唯一的区别应该是补丁的差异。在这一点上,理想情况下,您将能够 qimport 合并更改,但您不能这样做,因此您必须“ HG diff -r tip-1-r tip”才能获得新的差异,这是所有事先启动之前的差异,两名。然后,您将“ Qimport”差异并将其提交给您的补丁队列回购,并说出它来自何处。

绝对是最佳的,但我能想到的最好。我很想听听更好的解决方案。

其他提示

恐怕没有自动化的方法合并补丁。

但是,您可以使用的一个“技巧”是创建新的补丁,而不是在需要修改现有补丁程序时编辑/刷新现有补丁。当你们都同意正确的做事方式时, hg qfold 补丁。

这样,由于创建新的补丁以来,您就不会彼此脚趾踏上脚趾。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top