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

时间:2010-06-10 15:37:27

标签: svn binary mime-types

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

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

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

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

1 个答案:

答案 0 :(得分:4)

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

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

如果文件具有已知的保留文件名(如Makefile),则可以输入与整个文件名匹配的指令,例如

Makefile = svn:mime-type=text/x-makefile

如果您只有几个文件名,您可以添加每个所需文件名的指令。

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

的指令
Image* = svn:mime-type=image/png

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

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

---原帖如下---

svn:mime-type是一个属性。对于现有条目,您可以使用svn propedit

进行修改

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

*.png = svn:mime-type=image/png

会自动将svn:mime-type image/png *.png添加到以{{1}}

结尾的任何新文件中

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