组合2个修补程序文件,修补目录中的多个文件+解决冲突

时间:2010-06-24 17:38:54

标签: directory diff patch meld three-way-merge

我有一个dir,包含数千个文件和2个适用于同一目录的补丁文件。每个补丁文件在dir或它的子目录中修补20-30个文件。

如果我将任何一个补丁应用于共同的祖先目录,它就会成功。

但是如果我应用一个补丁文件后跟另一个补丁文件,则失败,因为在应用一个补丁文件后行号已经改变。 (两个补丁文件都存储来自共同祖先的差异)。还有一些地方存在冲突,我想使用像meld这样的图形工具进行3向合并。

我的目标是从补丁文件中进行3向合并,然后针对共同祖先递归地传递最终目录,以创建单个补丁文件。

一种方法是创建共同祖先的2个副本,将不同的补丁应用于2个副本,然后使用meld进行合并。 meld会花很多时间来比较没有改变的文件(dir有数千个文件)。有没有更好的方法呢?

如果你输入确切的命令我会很感激,因为我是一个linux新手。

1 个答案:

答案 0 :(得分:0)

后者似乎是一个不错的选择:合并2个修补的文件树。除非您可以在合并每个修补文件树中的文件集联合之前删除未更改的文件来优化进程。但是,只有经常需要这样做才有意义。