当没有作为属性时,确保在Subversion中正确设置mime-type



我们目前有很多存储在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

下找到了适合我们的配方

如果你想达到类似的效果,试试

相关内容

最新更新