我应该如何解决"svn:不一致的行结束风格"?

Kel*_*vin 38 svn line-endings

当我运行"svn propedit svn:ignore." 在我的svn存储库的根目录下,我收到此错误:svn:不一致的行结束样式

我试图运行这个脚本:http : //blog.eflow.org/archives/130运行dos2unix并在所有文件上设置eol样式,但是这个问题仍然存在.知道什么可能是错的吗?

evg*_*ny9 40

在我的例子中,svn:eol-style属性设置在一个文件上.并且"文件的某些行由UNIX行结尾(LF字符)分隔,而其他行由DOS样式的行结尾(CR + LF字符)分隔".是对这个问题的另一个详细讨论.
"Edit"->"EOL Conversion"->"Windows format"Notepad ++中为我解决了这个问题.

  • 在启用了资源管理器中的上下文菜单的 Windows 上使用 TortoiseSVN,您可以右键单击该文件,然后导航到“TortoiseSVN”-->“属性”。会弹出一个对话框。如果您确定 EOL 在您的上下文中无关紧要,请查找“EOL”属性并以适当的方式对其进行编辑或简单地将其删除。 (2认同)
  • 对我来说“Windows 格式”被禁用”。然后我转换为 unix,然后又转换回 windows。它对我有用。@marius 解决方案。 (2认同)

小智 26

就我而言,我在Windows中进行编辑.修理:

  1. 在Notepad ++中打开文件
  2. 将行结尾转换为Unix(编辑菜单 - > EOL转换 - > Unix)
  3. 保存
  4. 将行结尾转换为Windows(编辑菜单 - > EOL转换 - > Windows)
  5. 保存

这样做了.

  • 或:在wordpad中打开,另存为UTF-8. (2认同)

Wim*_*nen 17

Subversion并没有抱怨任何文件的内容,而是关于svn:ignore属性的内容.解决此问题的一种方法是简单地删除svn:ignore属性,svn propdel然后重新创建它.

如果你有很多行,可能会更容易的另一种方式svn:ignore:

  1. 在这样的临时文件中获取svn:ignore的值:

    svn propget svn:ignore . > temp

  2. 修复temp 文件中的行结尾
  3. 从固定文件中设置svn:ignore的值,如下所示:

    svn propset svn:ignore -F temp .

  • 我在特定文件上找到了'svn:eol'属性,其值为'native'.删除此属性为我修复了错误. (3认同)

gol*_*log 8

运行

unix2dos [file]
Run Code Online (Sandbox Code Playgroud)

通过cygwin为我解决了这个问题.