Subversion - 我可以在服务器端设置自动道具吗?

Ama*_*rus 7 svn mime

我正在维护一个 SVN 服务器,并且用户需要提交许多 adobe illustrator 文件(即*.ai)。我可以在他们的配置中使用自动道具将其设置为二进制文件,这样它就不会出现在邮件列表提交中。但是我想让这尽可能简单。有什么我可以在 SVN 服务器配置中设置的东西,以便它(即服务器)会自动设置正确的svn:mime-type

Dan*_*ley 6

这是不可能的。向客户端广播配置的功能请求由来已久。它目前不会在 2.0 或更高版本之前到期。

最接近的是使用钩子。要么带有预提交,以防止错误配置的客户端提交错误数据。或者事后提交来修复错误的数据。

两者都不是很好,我相信后者甚至不被建议。

  • SVN 1.8 客户端是可能的。 (3认同)

bah*_*rep 6

Apache Subversion 1.8 引入了Repository Dictated Configuration功能,该功能需要SVN 1.8 客户端。(换句话说,不需要 1.8 服务器)。

在 Subversion 1.8 中,您可以使用新的 Subversionsvn:auto-props继承属性在存储库中配置自动道具模式。

例如,将svn:auto-props值设置为*.bmp = svn:mime-type=image/bmp存储库根目录(或表示项目根目录的存储库路径)的属性将导致每个新添加的位图文件自动应用 MIME 类型。

您可以在 Subversion 属性中存储多行值,因此您可以将以下(非常标准的)svn:needs-lock 和 MIME 模式添加到svn:auto-props

*.bmp = svn:mime-type=image/bmp;svn:needs-lock=*
*.gif = svn:mime-type=image/gif;svn:needs-lock=*
*.ico = svn:mime-type=image/x-icon;svn:needs-lock=*
*.jpeg = svn:mime-type=image/jpeg;svn:needs-lock=*
*.jpg = svn:mime-type=image/jpeg;svn:needs-lock=*
*.png = svn:mime-type=image/png;svn:needs-lock=*
*.tif = svn:mime-type=image/tiff;svn:needs-lock=*
*.tiff = svn:mime-type=image/tiff;svn:needs-lock=*    
*.doc = svn:mime-type=application/msword;svn:needs-lock=*
*.jar = svn:mime-type=application/octet-stream;svn:needs-lock=*
*.odc = svn:mime-type=application/vnd.oasis.opendocument.chart;svn:needs-lock=*
*.odf = svn:mime-type=application/vnd.oasis.opendocument.formula;svn:needs-lock=*
*.odg = svn:mime-type=application/vnd.oasis.opendocument.graphics;svn:needs-lock=*
*.odi = svn:mime-type=application/vnd.oasis.opendocument.image;svn:needs-lock=*
*.odp = svn:mime-type=application/vnd.oasis.opendocument.presentation;svn:needs-lock=*
*.ods = svn:mime-type=application/vnd.oasis.opendocument.spreadsheet;svn:needs-lock=*
*.odt = svn:mime-type=application/vnd.oasis.opendocument.text;svn:needs-lock=*
*.pdf = svn:mime-type=application/pdf;svn:needs-lock=*
*.ppt = svn:mime-type=application/vnd.ms-powerpoint;svn:needs-lock=*
*.ser = svn:mime-type=application/octet-stream;svn:needs-lock=*
*.swf = svn:mime-type=application/x-shockwave-flash;svn:needs-lock=*
*.vsd = svn:mime-type=application/x-visio;svn:needs-lock=*
*.xls = svn:mime-type=application/vnd.ms-excel;svn:needs-lock=*
*.zip = svn:mime-type=application/zip;svn:needs-lock=*
Run Code Online (Sandbox Code Playgroud)