当我运行“svn propedit svn:ignore”。在我的 svn 存储库的根目录中,我收到此错误:svn: Inconsistent line ending style
我试图运行这个脚本:http : //blog.eflow.org/archives/130,它运行 dos2unix 并在所有文件上设置了 eol 样式,但是这个问题仍然存在。知道有什么问题吗?
当我运行“svn propedit svn:ignore”。在我的 svn 存储库的根目录中,我收到此错误:svn: Inconsistent line ending style
我试图运行这个脚本:http : //blog.eflow.org/archives/130,它运行 dos2unix 并在所有文件上设置了 eol 样式,但是这个问题仍然存在。知道有什么问题吗?
就我而言,我在 Windows 中进行编辑。修理:
这做到了。
Subversion 不是抱怨任何文件的内容,而是抱怨 svn:ignore 属性的内容。解决此问题的一种方法是简单地删除该svn:ignore
属性,svn propdel
然后重新创建它。
如果您的 中有很多行,另一种方法可能更容易svn:ignore
:
在临时文件中获取 svn:ignore 的值,如下所示:
svn
propget svn:ignore . > temp
temp
修复文件中的行尾从固定文件中设置 svn:ignore 的值,如下所示:
svn propset svn:ignore -F
temp .
跑步
unix2dos [file]
通过 cygwin 为我解决了这个问题。
我的问题是我在 Visual Studio.NET 中得到了这个。为了修复它,我将文件的所有文本复制到记事本中,并将其从记事本保存到“xxx.aspx”或任何正确的文件名。然后在 Visual Studio 中,系统提示我重新加载已更改的文件,然后出现一个对话框,询问我是否要规范化我的行尾。问题解决了。
如果它只发生在一两个文件中,您也可以打开文件,将内容复制并粘贴到新文件(使用普通文本编辑器),然后保存。然后可以添加此文件(重命名或移动以使其成为正确的名称)。
我收到了这个错误,但它最终成为一个缺少最后一个谎言结尾的文件(最后一行不完整)。
通过在 VI 中打开文件并保存来解决此问题。
脚本是否确实触及了每个文本文件(假设您确实安装了 dos2unix,否则这就是为什么......)?
我能想到的另一件事是检查所有文件的 mime 类型设置是否正确(你没有以某种方式标记为签入文本文件的二进制文件,也许?)。
也就是说,如果您处于多操作系统环境中,如果您在操作系统之间共享和编辑文本文件,我认为将 svn:eol-style 设置为 CRLF 不是一个好主意,如上面的博客文章中所述。因为如果你这样做,在 Windows 中看起来还不错的文件在 Unix 中会被控制字符乱七八糟。最好使用“本机”作为 EOL 样式。
vi 没有显示坏行,所以我从评论部分删除了行尾,读取它们(直到 END)并保存文件。在那之后它起作用了。
注意:在调整它之前备份你的 revprop 文件。如果你草皮它,就不会回头
通过 Windows 机器上的 ant 任务运行 javadoc 时,我遇到了同样的问题。
<fixcrlf srcdir="${dir.javadoc}" eol="dos"/>
我通过在 javadoc ant 任务下方添加来修复它。
如果您在进行 propedit 时得到它,那么在我看来,SVN 更多地抱怨您用于属性的文本文件的格式!
你在哪个操作系统上?您使用哪个编辑器进行宣传?如果 propedit 命令仍然启动编辑器,我将使用此编辑器检查其中的行尾(vi 执行此 IIRC)。
我在以前运行良好的存档中遇到了同样的问题。在记事本++中,我选择了将格式转换为 UTF-8。这对我有用。
要使用 perl(1) 一致地将 Windows 转换为 UNIX 行结尾:
perl -p -i.bak -e 's#\r\n#\n#go' my-file.txt
要从 UNIX 转换回 Windows:
perl -p -i.bak -e 's#\n#\r\n#go' my-file.txt
在对几个文本文件进行了一些修改之后,我出现了这个问题,这些修改只\n
添加到单独的某些行,而通常\r\n
终止每一行。因此,解决方法是使用 Notepad++ 查找([^\r])\n
并替换为$1\r\n
. 这样,行尾字符在任何地方都是一致的。
这困扰了我很长时间,在一个使用 SVN 的多系统团队中工作。我制作了这个有用的应用程序,它导航一个带有子文件夹的文件夹,查找文本文件并将所有 UNIX EOL 转换为 DOS EOL。它是一个 AIR 应用程序,适用于 Windows 和 Mac。希望能帮助到你
菲利波
对于 mac osx,我收到了这个文件错误,必须使用 dos2mac 和 mac2unix 对其进行转换。一旦我这样做了,它就解决了行尾抱怨的问题。
正如上面建议的'Marius Matioc',将是简单快捷的修复 1.在 Notepad++ 中打开文件 2.Edit 菜单 -> EOL Conversion -> Unix 3.Save 4.Edit 菜单 -> EOL Conversion -> Windows 5.Save
尝试svn propset eol-style:native
在 emacs 中使用 PHP 文件时,我收到了相同的错误消息,所以希望这会帮助解决这个问题的人。
我有类似以下内容:
str_replace('</li>^M<br>', '</li>', $text);
单个字符在哪里^M
(用于回车的插入符号转义)。
解决方法是将该行更改为等效项:
str_replace("</li>\r<br>", '</li>', $text);
注意双引号而不是单引号!
就我而言,发生错误是因为该文件的编码为“UCS-2 LE BOM”。带有 ANSI 的文件没问题。我检查了行尾,在所有文件中它们都是正确的。似乎(至少在我的 SVN 版本中)宽字符文件有时无法正确识别。
最简单的解决方案是删除“svn:eol-style”属性。