我该如何告诉Subversion(svn)将文件视为二进制文件?
通过使用以下方法,可以手动将存储库中位于文件标识为二进制:
svn propset svn:mime-type application/octet-stream <filename>
通常情况下,这是不必要的,因为当文件第一次添加时,Subversion会尝试确定它是否是二进制文件。如果Subversion错误地将某种类型标记为“文本”,而在实际上应将其视为二进制文件,则可以配置Subversion的auto-props功能,以自动标记该文件为非文本MIME类型。无论文件配置了哪些属性,Subversion仍会在存储库中以二进制格式存储文件。
如果Subversion将MIME类型识别为“文本”类型,则启用某些在二进制文件上不可用的功能,例如svn diff和svn blame。它还允许自动换行符转换,这可以在每个客户端上进行配置。
有关更多信息,请参见Subversion如何处理二进制文件?
svn propset svn:mime-type some/type filename.extension
基本上,您需要将MIME类型设置为octet-stream:
svn propset svn:mime-type application/octet-stream <filename>
svn: E200009: File 'qt/examples/dialogs/configdialog/images/config.png' has inconsistent newlines
svn: E135000: Inconsistent line ending style
那么解决方法是先添加没有属性的文件,然后在第二步设置属性:
svn add --no-auto-props qt/examples/dialogs/configdialog/images/config.png
svn propset svn:mime-type image/png qt/examples/dialogs/configdialog/images/config.png
例如:
svn propset svn:mime-type image/png foo.png
svn propset svn:mime-type application/octet-stream example.txt
。这将使您的文件作为字节集合而不是文本文件进行操作。另请参阅svn手册上的文件可移植性。如果在Windows中使用Tortoise SVN,请右键单击文件并转到属性。 点击新建并添加一个类型为svn:mime-type的新属性。 对于值,请输入:application/octet-stream
如果没有mime-type属性,svn会猜测它是文本。您可以显式设置此属性,请参见http://svnbook.red-bean.com/en/1.5/svn.forcvs.binary-and-trans.html
application/octet-stream
,至少可以通过file --mime-type -b filename
或在线查找文件扩展名来找到它。 - chrstphrchvz