我们目前有很多存储在Subversion中的文件缺少mime类型的问题。根据你使用的浏览器,当浏览Subversion目录并点击链接时,你看到的是PDF格式的文本,而不是acrobatreader中呈现的PDF格式。
显而易见的解决方案是在Subversion中设置该属性,在本例中将svn:mime-type
设置为application/pdf
,并在Subversion客户端配置文件的auto-props中设置相关部分。但是我们的很多用户不明白这一点,我们也不能控制他们的所有设置,所以会有一次又一次地将文件添加到存储库中,而正确的mime类型将会丢失。
有哪些选项可以纠正这个问题,使用它们的缺点是什么?
如果你使用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>
你最好的选择是安装一个预提交钩子脚本,它检查传入提交中的所有文件的适当mime类型,如果提交不符合你的要求,就拒绝提交(向用户提供一个信息,告诉他们为什么不能提交)。
最终,用户(无论如何,那些关心工作效率的人)应该得到提示,自己添加属性,或者问你如何设置他们的系统,这样他们就不必这样做了。
您可能会看到在传输过程中修改提交的建议。忽略它们。它们是危险的,会给用户带来困惑。您可能还会看到建议使用提交后钩子脚本,以便使用服务器端工作副本立即进行第二次提交。这是不太危险的,但可能导致竞争状态。它还会减慢每个人的速度,并使提交用户的工作副本立即过期,这将是令人难以置信的讨厌。
很抱歉回答我自己的问题,但是我在https://serverfault.com/questions/451500/is-it-possible-for-the-subversion-apache-module-to-serve-html-files-with-an-html
下找到了适合我们的配方如果你想达到类似的效果,试试