微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么Linux上的Subversion客户端将我的XML文件检测为二进制文件?

我在Linux上的svn客户端有奇怪的错误.

我想将test.xml文件添加到存储库.此文件是标准XML文本文件,仅包含拉丁字符(无BOM)和Linux行尾(仅限LF).但我的svn客户端失败了:

[mn@mn testy]$cat test.xml 
<?xml version="1.0" encoding="UTF-8"?>
<Test>test</Test>
<Test>89012345678901234</Test>
[mn@mn testy]$file test.xml
test.xml: XML document text
[mn@mn testy]$svn add test.xml
svn: E200009: Can't set 'svn:eol-style': file '/home/mn/testy/test.xml' has binary mime type property

相同的操作适用于Windows环境.我都配置了auto-props:

*.xml = svn:eol-style=native

我都有svn,版本1.8.10(r1615264).

我可以说它:

>在Windows上添加文件
>将svn:mime-type = text / xml添加到auto-props中,如下所示:

*.xml = svn:mime-type=text/xml;svn:eol-style=native

> svn添加–no-auto-props选项,然后使用svn propset
>添加文件,然后进行编辑

但我想通过简单地添加文件来实现.

为什么Linux上的Subversion客户端将此文件检测为二进制文件

解决方法:

不是真正的解决方案,但有些评论可能有所帮助:

>通常,mime-types由auto-props的用户明确设置.
>我找到了一个如何将文件标记为二进制的参考:http://svnbook.red-bean.com/en/1.7/svn.forcvs.binary-and-trans.html也许这有助于理解它是如何工作的.
>您是否检查过该文件是否在Linux中可执行,以便Subversion认为它是二进制文件

在客户端上使用Subversion 1.8,您就拥有了所谓的Repository Dictated Configuration,因此以下内容应该适用于所有情况:

>在您的存储库(/或/ trunk)的根目录中包含属性svn:auto-props,其值为* .xml = svn:mime-type = text / xml; svn:eol-style = native
>当您现在添加一个文件(在Windows和Linux上),并且该文件的结尾为.xml时,Subversion应该将该属性添加文件svn:mime-type和svn:eol-style.如果文件是二进制文件,并且将mime-type设置为text / *之类的应该确保文件不被解释为二进制文件,则不应该涉及任何魔法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐