某些文件的自动冲突解决(颠覆)

Automatic conflict resolution on certain files (subversion)

我遇到这样一种情况,makefile 作为构建过程的一部分自动更新,但它们仍然处于 subversion 版本控制之下。 (是的,我知道你将自动创建的文件置于修订控制之下是有问题的,但情况确实如此)。

这导致在 svn update 期间 makefile 经常会发生冲突,实际上采用 "mine-full" 或 "theirs-full" 的解决方案是完全可以接受的。

现在我想自动执行此操作,但我不想要一个最终自动解析每个文件的解决方案,而只是那些与特定模式匹配的文件(例如,仅那些名为 [=11 的文件) =]).有没有简单的方法来做到这一点?

虽然没有真正解决合并冲突,但您可以通过不修改 makefile 的副本来避免冲突来解决问题。这可以通过在更新之前恢复更改来完成:

find -type f -name makefile -exec svn revert {} +
svn update

这将无条件地采用他们的完整版本(即使更改可以在没有冲突的情况下合并)。