当前位置:  开发笔记 > 开发工具 > 正文

如何告诉Subversion将文件视为二进制文件?

如何解决《如何告诉Subversion将文件视为二进制文件?》经验,为你挑选了5个好方法。

如何告诉Subversion(svn)将文件视为二进制文件?



1> stormlash..:

通过使用以下方法,可以手动将位于存储库中的文件标识为二进制文件:

svn propset svn:mime-type application/octet-stream 

这通常不是必需的,因为Subversion将在首次添加文件时尝试确定文件是否为二进制文件.如果Subversion错误地将某种类型标记为"文本",则应将其视为二进制,则可以配置Subversion的自动道具功能以使用非文本MIME类型自动标记该文件.无论文件上配置的属性如何,Subversion仍然以存储库中的二进制格式存储文件.

如果Subversion将MIME类型标识为"文本"类型,则它会启用二进制文件上不可用的某些功能,例如svn diffsvn blame.它还允许自动行结束转换,可在逐个客户端的基础上进行配置.

有关更多信息,请参阅Subversion如何处理二进制文件?


我需要相反的; 使用`text/plain`工作!

2> Evil Andy..:

从Subversion书的第367页开始

在最普遍的意义上,Subversion比CVS更优雅地处理二进制文件.由于CVS使用RCS,因此它只能存储更改的二进制文件的连续完整副本.但是,Subversion使用二进制差分算法表示文件之间的差异,无论它们是否包含文本或二进制数据.这意味着所有文件都以差异方式(压缩)存储在存储库中.

CVS用户必须使用-kb标记标记二进制文件,以防止数据出现乱码(由于关键字扩展和行结束转换).他们有时会忘记这样做.

Subversion采取更偏执的路线.首先,除非您明确要求它执行此操作,否则它永远不会执行任何类型的关键字或行结束转换(有关详细信息,请参阅"关键字替换"一节和"行尾字符序列"一节).默认情况下,Subversion将所有文件数据视为文字字节字符串,并且文件始终以未翻译状态存储在存储库中.

其次,Subversion维护一个文件是"文本"还是"二进制"数据的内部概念,但这个概念只存在于工作副本中.在svn更新期间,Subversion将对本地修改的文本文件执行上下文合并,但不会尝试对二进制文件执行此操作.

为了确定是否可以进行上下文合并,Subversion检查svn:mime-type属性.如果文件没有svn:mime-type属性,或者具有文本的MIME类型(例如,text/*),则Subversion假定它是文本.否则,Subversion假定文件是二进制文件.Subversion还通过在svn import和svn add命令中运行二进制检测算法来帮助用户.这些命令会做出很好的猜测,然后(可能)在要添加的文件上设置二进制svn:mime-type属性.(如果Subversion猜错了,用户总是可以删除或手动编辑属性.)

手工编辑将由.完成

svn propset svn:mime-type some/type filename.extension



3> KTamas..:

基本上,您必须将mime类型设置为octet-stream:

svn propset svn:mime-type application/octet-stream 



4> 小智..:

如果'svn add'猜测错误的类型并给出如下错误:

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



5> Jan Krüger..:

例如:

svn propset svn:mime-type image/png foo.png

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有