【问题标题】:TortoiseSVN diff fails with "Inconsistent line ending style"TortoiseSVN 差异因“行尾样式不一致”而失败
【发布时间】: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


【解决方案1】:

我使用WinMerge 作为 Tortoise 的差异工具,它可以选择将所有 EOL 样式视为等效。

【讨论】:

  • 谢谢。根据我目前得到的两个回复,我得出结论,我们需要用更灵活的工具(如 WinMerge 或 BeyondCompare)替换 Tortoise 的内置比较工具。
【解决方案2】:

警告:EOL 样式的真正问题在于读取 PVCS 存储库并生成 Subversion 转储文件的 java 转换器。它采用 autoprops 设置并将它们应用于您指定的文件类型 - 在我的情况下是 eol-native 属性 - 即使文件混合了 EOL。通常 svn 会在提交时检查它,并确保文件在提交之前被清理。经验教训:从 PVCS 转换为 subversion 时不要使用 eol-stype autoprops。如果您需要它,请在转换完成后添加它并在此过程中清理文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-02
    • 2018-08-20
    • 2016-02-14
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多