Subversion - 添加文本文件 - 文件状态 A(二进制文件)

16

我不知道为什么文件状态显示有(bin) - 我检查了文件,没有特殊字符。添加(add)和提交(commit)已经完成且文件应该没问题,但我觉得这很奇怪。

1个回答

21

来自 http://subversion.apache.org/faq.html#binary-files

Subversion将以下文件视为文本:

  • 没有svn:mime-type的文件
  • 以"text/"开头的svn:mime-type的文件
  • svn:mime-type等于"image/x-xbitmap"的文件
  • svn:mime-type等于"image/x-xpixmap"的文件

所有其他文件都被视为二进制文件,这意味着Subversion将:

  • 不会在svn update或svn merge期间尝试自动合并接收到的更改和本地更改
  • 不会将差异显示为svn diff的一部分
  • 不会为svn blame显示逐行归因

检查您的文件扩展名/关联mime类型。您可以通过对svn:mime-type进行propset操作来强制将其设置为与系统关联的mime类型不同的文本。


1
谢谢提供链接。我应该更仔细地阅读常见问题解答。我检查了十六进制版本和文件,其中包含 SQL 代码,是由 SSMS 保存为 Unicode 格式的。 - Steve
我曾经遇到过与XML文件类似的问题:默认情况下,它们会被添加为(bin),因为它们的application/ MIME类型。在添加这些文件后,我运行了一个显式的svn propset svn:mime-type text/xml *,然后它就可以正常工作了。为了使这更容易,这里有一个有用的脚本:http://svn.apache.org/repos/asf/cxf/trunk/bin/set_svn_properties.sh - Jens

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接