2013-05-19 44 views
2

我们目前存在的问题是,存储在Subversion中的很多文件都缺少mime类型。根据您使用的浏览器,在浏览Subversion目录并单击链接时,您会看到文本,例如PDF而不是Acrobat Reader中呈现的PDF。确保mime类型在Subversion中作为属性丢失时设置正确吗?

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

有什么方法可以解决这个问题,以及使用它们的缺点是什么?

回答

1

你最好的选择是安装一个预先提交的钩子脚本,它检查传入提交中所有文件的适当MIME类型,如果它不符合你的要求,就拒绝提交(提供一个信息性的消息用户告诉他们为什么他们不能提交)。最终,用户(即那些关心高效工作的用户)应该得到提示并照顾自己添加属性,或者询问如何设置他们的系统以便他们不必这样做。

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

+0

谢谢你的回答,我希望有一些我们可以使用的Apache魔法......我知道Subversion的选项,我不喜欢它们。培训所有人很好,但有时候,你必须找到一个同样适用的解决方法... – mliebelt

+0

@mliebelt那里**是** Apache服务器的魔术帮助! – bahrep

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> 
+0

这正是我一直在寻找的。我将与我们的操作团队取得联系,他们必须修改我们的Apache服务器的配置。这需要一些时间,所以我会在一周内回来。 – mliebelt