svn - 什么会导致 SVN Update 合并错误?

标签 svn delphi merge corruption

几天前,我收到了一封电子邮件,来自某人,他在构建我在 Google Code 上的 Delphi 项目时遇到了问题。在他更新了我 checkin 的一些更改后,项目文件和其中一个 DFM 文件被修改了。我们来来回回地聊了一会儿,并追溯到他所说的 SVN 加入了额外的东西。他删除了文件并再次运行更新,效果很好。

我以前从未见过这个问题,并且最终无法重现或验证任何问题。与其他用户没有任何更新冲突,因为我是唯一拥有存储库写入权限的用户。所以我想知道是什么原因造成的。这是 SVN 的已知问题吗?有什么办法可以避免这种情况发生吗?

最佳答案

如果 Subversion 将 DFM 文件视为文本,假设用户进行了本地更改,它将尝试合并。如果存在冲突并且 Subversion 无法解决它们,它会添加额外的详细信息来帮助您手动解决冲突,您将看到类似 <<<<<<< .mine 的文本。这当然会在德尔福中消失。也可能是 Subversion 自动进行了合并,这并不冲突,但导致 DFM 文件损坏。

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

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

关于svn - 什么会导致 SVN Update 合并错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1557613/

相关文章:

git - 从 svn 到 git,移动主干

Eclipse 颠覆 : Exclude Directories

delphi - 在Delphi中控制应用程序音量

intellij-idea - Intellij 13合并冲突对话框丢失卡住

python - 如何匹配某个人在不同时间段内的调查响应以形成面板数据集?

linux - 为什么我得到 "svn: command not found"

svn - 在现有安装上设置 Magento 和 SVN

delphi - 是否可以将属性连接到嵌入式组件

delphi - 在运行时创建自定义标题栏和边框,TMainMenu 起作用

xml - xsltproc 合并 xml 文件不起作用