几天前,我收到一封电子邮件,内容是某人在构建我在Google Code上的Delphi项目时遇到的问题。项目文件和其中一个DFM文件在更新了我检查过的一些更改之后被彻底清除了。我们反复讨论了一下,并将其追溯到他所说的SVN投入额外的东西。他删除了这些文件并再次运行了更新,它工作正常。什么能导致SVN更新不正确地合并?
我以前从来没有看到这个问题,我是不是能复制或在我的最终验证它的任何。没有与其他用户发生任何更新冲突,因为我是唯一具有对存储库的写入访问权限的冲突。所以我想知道可能会造成这种情况。这是SVN的一个已知问题吗?有没有办法阻止它发生?
有趣的把戏。但之后我会失去使用TortoiseSVN在检查新批代码之前检查我的更改的能力。 – 2009-10-13 04:13:36
如果合并,那么很容易破坏DFM文件,更改“不重要”的细节可能会导致组件顺序发生更改。天真的合并可以完全消除它。 – 2009-10-13 04:27:46
@Mason - 你试过了吗? TortoiseSVN - > Diff会显示更改(它对我来说确实如此,但我已将它配置为使用Beyond Compare)SVN不会显示差异(例如在提交后的电子邮件中),而是会报告“二进制文件不同” 。我用Delphi编码已经有好几年了,但我猜它与.NET设计器文件类似。就个人而言,我不打扰为这类文件设置MIME类型(我只是提出了一种可能的解决方案),因为如果在更新到自动生成和维护的文件后看到“合并”状态,这是一个非常大的线索可能会出错:) – si618 2009-10-13 05:49:19