Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm maintaining a SVN server and on user needs to commit many adobe illustrator files (ie *.ai). I can use the auto-props in their config to set it as a binary file so that it won't be in the mailing list commits. However I'd like to make this as easy as possible. Is there something I can set in the SVN server config, so that it (ie the server) will automatically set the correct svn:mime-type?

share|improve this question
add comment

3 Answers

up vote 5 down vote accepted

It's not possible. There is a long standing feature request for broadcasting configs to client. It's not presently due until 2.0, or later.

The closest you can come is to use hooks. Either with a pre-commit to prevent incorrectly configured clients from submitting the wrong data. Or a post-commit to retro-fix wrong data.

Neither is great and I believe the latter is even advised against.

share|improve this answer
1  
It is possible with SVN 1.8 client. –  bahrep Sep 2 '13 at 11:55
add comment

While there is no great answer to this, you can use svn_apply_autoprops.py which I wrote to apply your standard auto-props to a working copy to bring all the files there into compliance.

share|improve this answer
    
The link to svn_apply_autoprops.py seems to be broken. Searching for the filename gives me this copy in Apache which is probably the same file. –  Nikolaos Georgiou Aug 27 '12 at 10:46
    
Also: the script works great, thanks :-) –  Nikolaos Georgiou Aug 27 '12 at 10:59
    
Yes, that's the new location. The Subversion source code moved from svn.collab.net to svn.apache.org when we joined the Apache Software Foundation. –  Blair Zajac Aug 28 '12 at 16:53
    
Don't think the script is actual after implementation of Repository Dictated Configuration: subversion.apache.org/docs/release-notes/… –  bahrep Sep 2 '13 at 11:56
add comment

Apache Subversion 1.8 introduced the Repository Dictated Configuration feature which requires SVN 1.8 client. (1.8 server is not required, in other words).

With Subversion 1.8, you can configure auto-props patterns within a repository using the new Subversion svn:auto-props inherited property.

For example, setting svn:auto-props value to *.bmp = svn:mime-type=image/bmp property on the root of your repository (or repository path that represents a root of a project) will result into each newly added bitmap file to have the MIME type applied automatically.

You can store multi-line values in Subversion properties, so you can add the following (quite standard) svn:needs-lock and MIME pattern to 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=*
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.