【发布时间】:2010-07-30 07:31:40
【问题描述】:
两个问题:
如何让 TortoiseSvn diff 工具忽略 EOL 样式?
如何在PVCS到SVN转换过程中修复混合EOL样式文件?
我刚刚使用出色的免费 Polarion 转换工具将 PVCS 存档导入 Subversion。一切看起来都很好,我只想解决一件烦人的事情。
原始 PVCS 存档中的一些 cpp 文件具有混合的 EOL 样式(由于 PVCS 合并工具)。这些文件(及其所有修订版)现在使用自动属性设置“svn:eol-style=native”复制到 Subversion 存档中。
当我使用 TortoiseSvn 差异查看两个版本之间的差异时,我收到错误消息“行尾样式不一致”。
将 10 年的修订历史从 PVCS 转换为 Subversion 的整个想法是让程序员可以轻松查看过去所做的更改 - 以及是否需要在差异之前手动清理旧文件有可能,但它不会起作用。
警告: EOL 样式的真正问题在于读取 PVCS 存储库并生成 Subversion 转储文件的 java 转换器。它采用 autoprops 设置并将它们应用于您指定的文件类型 - 在我的情况下是 eol-native 属性 - 即使文件混合了 EOL。通常 svn 会在提交时对此进行检查,并确保文件在提交之前被清理。
经验教训:从 PVCS 转换为 subversion 时不要使用 eol-stype autoprops。如果您需要它,请在转换完成后添加它并在此过程中清理文件。
【问题讨论】:
-
您是否尝试过使用外部比较工具,例如无法比较或类似?
-
我已经用 BeyondCompare 替换了 PVCS 的内置比较工具,它工作正常:检测到混合的 EOL 样式,在比较中可以忽略。所以我的后备解决方案是用 BeyondCompare(或类似的)替换 TortoiseSvn 的内置差异工具。但是,我只想在绝对需要的情况下这样做,而且我有点惊讶 TortoiseSvn 并没有开箱即用。
标签: tortoisesvn diff line-endings eol