gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:08:50 25 4
gpt4 key购买 nike

我在 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 环境。在两者上我都配置了自动 Prop :

*.xml = svn:eol-style=native

在两者上我都有 svn,版本 1.8.10 (r1615264)

我可以解决它:

  1. 在 Windows 上添加文件
  2. svn:mime-type=text/xml 添加到 auto-props 中,使其看起来像:

    *.xml = svn:mime-type=text/xml;svn:eol-style=native
  3. svn add 加上 --no-auto-props 选项,然后使用 svn propset

  4. 添加空文件,然后编辑

但我想通过简单地添加文件来完成。

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

最佳答案

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

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

在客户端上使用 Subversion 1.8,你有所谓的 Repository Dictated Configuration , 因此以下内容应该在所有情况下都有效:

  1. 在您的存储库(/或/trunk)的根目录中包含属性 svn:auto-props,其值为 *.xml = svn:mime-type=text/xml; svn:eol-style=native
  2. 当你现在添加一个新文件(在 Windows 和 Linux 上),并且文件的结尾是 .xml 时,Subversion 应该将 svn:mime-type< 作为属性添加到文件中svn:eol-style。查看文件是否为二进制文件应该没有魔法,并且将 mime 类型设置为 text/* 应该确保文件不会被解释为二进制文件。<

关于linux - 为什么 Linux 上的 Subversion 客户端将我的 XML 文件检测为二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26587911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com