更改没有特定扩展名的二进制文件的Subversion默认mime类型?

lam*_*cro 5 svn binary mime-types

Subversion 默认将二进制文件的svn:mime-type属性application/octet-stream设置为.

我需要将此默认值更改为其他一些mime类型.当我第一次导入这段代码时,我希望Subversion将mime-type设置为我选择的那个.

原因是我的代码库包含二进制文件(专有格式)的代码,我有必要的应用程序来模拟diff和diff3.但是由于他们的默认mime类型,Subversion不允许我.

请注意: 这些代码文件没有默认扩展名(*.jar,*.py等).有些文件甚至没有扩展名. 因此,无法通过文件扩展名配置mime-type.

Edw*_*uck 4

--- 回复后编辑这些文件没有默认扩展名 ---

如果这些文件没有默认扩展名,[auto-props]在某些情况下您仍然可以在客户端中使用该指令。

如果该文件具有已知的保留文件名(例如 Makefile),那么您可以放入与整个文件名匹配的指令,例如

Makefile = svn:mime-type=text/x-makefile
Run Code Online (Sandbox Code Playgroud)

如果您只需要覆盖几个文件名,您只需添加每个所需文件名的指令即可。

* 不仅限于扩展名匹配,指令还匹配文件名模式,因此您也可以编写如下指令

Image* = svn:mime-type=image/png
Run Code Online (Sandbox Code Playgroud)

最后,如果您的文件不遵循可以为您的 mime 类型明确保留的命名模式,那么您最好编写一个小脚本来标记文件并记住偶尔运行它。

请注意,更改客户端默认设置将更改访问所有 SVN 存储库的客户端行为,因此最好只进行合理的选择,这些选择可能适用于您打算使用的每个存储库。

--- 原帖如下 ---

svn:mime-type 是一个属性。对于现有条目,您可以使用以下命令对其进行编辑svn propedit

要更改 mime 类型的默认值,在客户端,您可以编辑 svn文件以在配置文件的部分config中包含指令。[auto-props]

*.png = svn:mime-type=image/png
Run Code Online (Sandbox Code Playgroud)

会自动将svn:mime-typeof添加image/png到创建的以结尾的任何新文件中*.png

我不知道有任何技术可以在服务器端完成此操作,除非您想在预提交触发器之一中编写脚本以在将更改提交到存储库之前添加属性。