两个问题:TortoiseSVN的差异失败,“不一致的行结束样式”
如何让TortoiseSVN比较工具忽略EOL风格?
如何在从PVCS到SVN的转换过程中修复混合的EOL样式文件?
我刚刚使用优秀的免费Polarion转换工具将Subversion导入Subversion。一切看起来都很好,我只想解决一件烦人的事情。
原始PVCS存档中的一些cpp文件具有混合的EOL样式(由于PVCS合并工具)。这些文件(及其所有修订版)现在使用autoprops设置“svn:eol-style = native”复制到Subversion存档中。
当我使用TortoiseSvn差异来查看两个版本之间的差异时,我收到错误消息“不一致的行结束样式”。
将10年的修订历史从PVCS转换为Subversion的整个想法是让程序员很容易地看到过去发生了哪些变化 - 并且如果您需要在清理之前手动清理旧文件差异是可能的,它不会工作。
警告: EOL样式的REAL问题出现在读取PVCS存储库并生成Subversion转储文件的java转换器中。它采用autoprops设置并将它们应用于您指定的文件类型 - 在我的情况下是eol-native属性 - 即使文件具有混合EOL,也是如此。通常svn会在提交时检查它并确保在提交之前清理文件。
获得的经验教训:从PVCS转换为subversion时不要使用eol-stype autoprops。如果您需要,请在转换完成后将其添加并在流程中清理文件。
您是否尝试过使用外部比较工具,如无法比较或类似? – 2010-07-30 07:35:37
我用BeyondCompare替换了PVCS的内置比较工具,它工作正常:混合EOL样式被检测到,并且在比较中可以忽略。所以我的备份解决方案是用BeyondCompare(或类似的)替换TortoiseSvn的内置diff工具。 但是我只想在绝对需要的时候这样做,我有点惊讶TortoiseSvn并没有立刻开箱即用。 – Jens 2010-07-30 07:54:45