【问题标题】:SVN Line ending StyleSVN 行尾样式
【发布时间】:2010-10-25 20:56:02
【问题描述】:

当我尝试在 SVN 中提交文件时,它显示错误为“提交失败”。详细信息如下......提交 svn:行尾样式不一致。

【问题讨论】:

  • 我遇到了这个问题的一个可怕变体:我在 streams 库中看到了这个错误消息。查看给出错误的文件,我看到类似test/unicode_demo_utf8_crlf.txt 的名称。我怀疑这些文件非常好应该具有不一致的行尾样式。不幸的是,将--force 添加到svn import 并不足以鼓励颠覆者关闭并阅读文件。有什么解决办法吗? --double-secret-force 或许?

标签: svn line-endings eol


【解决方案1】:

我在 Windows 环境中使用 TortoiseSVN。我在尝试提交项目文件时遇到了同样的错误,大概是用 Linux(一个 AVR32 项目)编写的。我可以通过在 Microsoft Visual Studio 中打开每个文件来解决这个问题,此时 VS 提示我规范化行尾。选择这样做导致乌龟停止抱怨。

【讨论】:

    【解决方案2】:

    对于追随者,以下是手动将道具设置为其中一个的方法:

     svn propset svn:eol-style LF path/to/filename
    

    【讨论】:

    • 对我来说,解决方法是删除该属性
    • @Charbel 这并不是真正的修复,它只是忽略了问题。这是否会导致任何实际问题取决于所使用的其他工具/语言。
    【解决方案3】:

    从您的工具(如 kdiff)本身中选择行尾样式...右侧底部(就在输出行上方)

    【讨论】:

      【解决方案4】:

      检查提交消息本身中的 EOL:如果您使用 --file 开关从文件中传递提交消息,请确保 提交消息 中的 EOL 样式一致(所有 DOS 或所有 UNIX )。

      【讨论】:

        【解决方案5】:

        一旦您了解了 svn 期望的行尾样式,大多数现代编辑器都可以选择将您的源代码完全转换为一种或另一种样式。您还可以运行正则表达式来检测和更改它们(我喜欢 Perl)。

        MSDOS EOL:“\r\n”

        UNIX EOL:“\n”

        【讨论】:

        • DOS(和 Windows)使用“\r\n”。此外,Mac OS Classic(9 及以下)使用“\r”。
        【解决方案6】:

        检查目录/文件上的 svn 属性。如果您定义了 svn:eol-style,但您的文件包含不同的样式(Unix vs DOS),则提交将失败,因为 SVN 不知道要转换为哪个。

        参考:http://svn.haxx.se/users/archive-2006-07/0702.shtml

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-12-30
          • 1970-01-01
          • 2011-08-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-10
          相关资源
          最近更新 更多