2010-06-24 85 views
0

我有一个带有数千个文件的dir和适用于相同目录的2个修补文件。每个补丁文件在dir或其子目录中修补20-30个文件。合并2个修补文件,修补目录中的多个文件+解决冲突

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

但是,如果我应用一个补丁文件并紧接着另一个补丁文件,它将失败,因为在应用一个补丁文件后,行编号已更改。 (这两个补丁文件存储来自共同祖先的差异)。还有一些地方存在冲突,我希望使用像meld这样的图形工具进行3路合并。

我的目标是从补丁文件中进行3路合并,然后对这个最后的dir进行递归比较,以针对共同的祖先递归地创建单个补丁文件。

这样做的一种方法是创建共同祖先的2个副本,将不同的补丁应用于2个副本,然后使用meld进行合并。 meld会花费大量的时间比较没有改变的文件(目录有成千上万的文件)。有没有更好的方法来做到这一点?

我将不胜感激,如果你把确切的命令,因为我是一个Linux新手。

回答

0

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