我维护一个SVN服务器,并根据用户需要提交许多Adobe Illustrator文件(即*.ai )。 我可以在自己的configuration中使用auto-props来将它设置为一个二进制文件,这样它就不会在邮件列表中提交。 不过,我希望尽可能简单。 有什么我可以在SVN服务器configuration设置,以便它(即服务器)将自动设置正确的svn:mime-type ?
这是不可能的。 有一个长期的function要求广播configuration客户端。 目前尚不到2.0或更晚。
最近你可以来使用钩子。 要么预先提交,以防止错误configuration的客户端提交错误的数据。 或者是提交后修复错误的数据。
这两者都不是很好,我相信后者甚至被劝阻。
Apache Subversion 1.8引入了需要SVN 1.8客户端的Repository Dictated Configurationfunction。 (换言之,1.8服务器不是必需的)。
使用Subversion 1.8,你可以使用新的Subversion svn:auto-propsinheritance的属性来在资源库中configuration自动道具模式。
例如,将svn:auto-props值设置为存储库根目录(或代表项目根目录的存储库path)的*.bmp = svn:mime-type=image/bmp属性将导致每个新添加的位图文件自动应用MIMEtypes。
你可以在Subversion属性中存储多行值,所以你可以在svn:auto-props添加下面的(非常标准的)svn:needs-lock和MIME模式:
*.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=*
虽然没有很好的答案,但是可以使用我写的svn_apply_autoprops.py来将你的标准自动道具应用到工作副本上,以使其中的所有文件符合要求。