【发布时间】:2012-05-22 20:31:29
【问题描述】:
这与版本控制有关,在我们不知道更改的确切时间的并行修改情况下,因此我们假设我们同时收到文件的两个修改版本。我把问题简化了:
我有一个字符串 S,有两个修改版本,称为 T 和 U。我可以使用 diff 看到 S 和 T 之间的差异。让我们将由 T over S 组成的补丁称为 PT。 U也一样,我们会有PU。现在,我想以一种安全的方式将 PT 和 PU 合并到一个补丁中,能够在“字”级别检测 PT 和 PU 之间的冲突,而不是典型的编程行级别。
问题:
1- 有没有这样一种算法可以合并两个补丁?
2- 如何检测 T 和 U 之间的冲突?
3- 处理冲突的常用策略是什么?对我来说,一种解决方案是始终从其中一个版本中选择更改,比如 T,以防发生冲突。
是否有任何工具可以满足我的需求?
【问题讨论】:
标签: git version-control diff patch merge-conflict-resolution