3

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

最明显的解决方案是在 Subversion 中设置属性,在本例中设置svn:mime-typeapplication/pdf并设置 Subversion 客户端配置文件中 auto-props 中的相关部分。但是我们的很多用户不理解这一点,而且我们无法控制他们的所有设置,因此将一遍又一遍地将文件添加到缺少正确 mime 类型的存储库中。

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

4

3 回答 3

2

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

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

LoadModule mime_module bin/mod_mime.so
TypesConfig <path-to-mime.types-file>
于 2013-05-20T07:50:51.377 回答
1

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

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

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

于 2013-05-19T12:13:38.057 回答
1

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

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

于 2013-06-17T09:15:05.030 回答