为什么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 / *之类的应该确保文件不被解释为二进制文件,则不应该涉及任何魔法.

相关文章

首先介绍下什么是git和svnGIT(分布式版本控制系统)Git(读音...
注意点:系统环境:centos7,python,django,svn,jenkins首先安装...
  我使用过的版本控制工具有两种:早期的时候使用的是SVN,...
用好Git和SVN,轻松驾驭版本管理本文从Git与SVN的对比入手,...
01.jenkins安装jenkins网站:https://jenkins.io/安装:资料...
软件环境:centos7jdk1.8svn1.9maven3.5tomcat8jenkins2.80 ...