持续覆盖svn的mime到二进制映射?

Bry*_*yce 7 svn mime-types

关于我的问题的背景:svn不会区分它认为是二进制的文件

$ svn diff data/assets/site/ir_gallery/images.kml
Index: data/assets/site/ir_gallery/images.kml
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/vnd.google-earth.kml+xml
Run Code Online (Sandbox Code Playgroud)

最近的堆栈溢出答案(svn diff:文件标记为二进制类型)显示您可以强制mime类型:

$ svn propset svn:mime-type 'text/plain' data/assets/site/ir_gallery/images.kml
property 'svn:mime-type' set on 'data/assets/site/ir_gallery/images.kml'
Run Code Online (Sandbox Code Playgroud)

请注意,先前的答案是不完整的......您还必须:

$ svn commit
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:我可以设置默认值,因此所有未来的"vnd.google-earth.kml + xml"文件都会被svn视为文本吗?红皮书在这个主题上显得沉默:http://svnbook.red-bean.com/en/1.2/svn.advanced.props.html只说:

...if a file's svn:mime-type property is set to a non-text MIME type
(generally, something that doesn't begin with text/, though there are
exceptions) then...
Run Code Online (Sandbox Code Playgroud)

什么例外?这些异常是否已编入svn代码或可访问?

小智 5

答案取决于您使用的svn客户端.在官方的svn客户端中,您要查找的选项是自动属性设置.tl; dr版本是您需要更新您的用户或系统配置,在该部分中enable-auto-props设置设置,并创建一个新部分,其中定义了您要匹配的模式以及您要设置的属性.yesmiscellanyauto-props

对于kml文件的示例:

### Section for configuring miscelleneous Subversion options.
[miscellany]
enable-auto-props = yes

[auto-props]
*.kml = svn:mime-type=text/plain;svn:eol-style=native
Run Code Online (Sandbox Code Playgroud)

这将确保当您将.kml文件添加到存储库时,它将具有mime类型的text/plain,并将使用客户端平台本机的行结尾.