什么可能导致SVN更新错误合并?

Mas*_*ler 3 svn delphi merge corruption

几天前我收到了一封电子邮件,其中有人在构建我在Google Code上的Delphi项目时遇到了问题.在更新了我已经检查过的一些更改后,项目文件和其中一个DFM文件被发出警告.我们来回聊了一下,并追溯到他说的是SVN投入额外的东西.他删除了文件并再次运行Update,它运行正常.

我以前从未见过这个问题,而且我无法在我的最后重现或验证任何问题.与其他用户没有任何更新冲突,因为我是唯一一个对存储库具有写访问权限的用户.所以我想知道是什么导致了这一点.这是SVN的已知问题吗?有没有办法阻止它发生?

si6*_*618 5

如果Subversion将DFM文件视为文本,假设用户进行了本地更改,则会尝试合并.如果存在冲突并且Subversion无法解决它们,它将添加额外的细节以帮助您手动解决冲突,您将看到文本<<<<<<< .mine,当然这将在Delphi中bork.它也可能是Subversion自动进行合并,但没有冲突,但会导致损坏的DFM文件.

您没有看到问题的原因可能是因为您没有本地更改,因此不需要合并.删除或还原文件会将工作副本重置为BASE,因此任何更新都不需要进行合并.

解决方法一:如果你有这应该文本文件被颠覆合并,然后设置的svn:mime-type属性,以适当的非文本值,它将把它作为二进制,并且不会尝试合并.您将需要手动修复问题.顺便说一句,如果您需要在Subversion中存储敏感文本文件并且不希望显示内容的差异,这也是一个很好的提示:)