当缺少属性时,确保在Subversion中正确设置了mime-type?

时间:2013-05-19 10:58:44

标签: apache svn mime-types

我们目前存在的问题是Subversion中存储的很多文件都缺少mime类型。根据您使用的浏览器,在浏览Subversion目录并单击链接时,您会看到文本,例如PDF格式而不是Acrobat Reader中呈现的PDF格式。

显而易见的解决方案是在Subversion中设置属性,在此示例中将svn:mime-type设置为application/pdf并在Subversion客户端配置文件中设置auto-props中的相关部分。但是我们的很多用户都不理解这一点,而且我们并没有控制他们的所有设置,因此会一次又一次地将文件添加到存储库中,其中缺少正确的mime类型。

有哪些选项可以解决这个问题,使用它们有什么缺点?

3 个答案:

答案 0 :(得分:1)

您最好的选择是安装预提交钩子脚本,该脚本检查传入提交中所有文件的相应mime类型,如果不符合您的要求,则拒绝提交(向提供信息提供信息)用户告诉他们为什么不能提交。

最终,用户(那些关心高效工作的用户)应该得到提示并注意自己添加属性,或者询问如何设置他们的系统以便他们不必这样做。

您可能会看到相当于在传输过程中修改提交的建议。别理他们。它们很危险,会给用户带来混乱。您可能还会看到建议使用提交后挂钩脚本立即使用服务器端工作副本进行第二次提交。这不太危险,但可能导致竞争状况。它也会减慢每个人的速度,并使提交用户的工作副本立即过时,这将非常令人讨厌。

答案 1 :(得分:1)

如果您使用Apache HTTP Server为Subversion存储库提供服务,那么您应该在mod_mime模块的帮助下配置默认媒体类型。请参阅Apache Module mod_mime上的文档。

一般来说,您需要将以下字符串添加到Apache配置中,并将TypesConfig指向您的mime.types文件。

LoadModule mime_module bin/mod_mime.so
TypesConfig <path-to-mime.types-file>

答案 2 :(得分:0)

很抱歉回答我自己的问题,但我在https://serverfault.com/questions/451500/is-it-possible-for-the-subversion-apache-module-to-serve-html-files-with-an-html下找到了适合我们的食谱

因此,如果您想要达到类似的效果,请尝试。