category:Design Documents When a developer commits a new file to the repository, they may get an error about mime types not being set. This is because there is (intentionally) a commit hook set up that verifies that there are mime types set on all files being added to the repository.

Subversion uses file mime-types for lots of useful things like for web interface browsing of the repository. You can either set up your subversion config to auto-set mime types or you can directly set the mime type on the file before you commit the file using svn propset.

Sean provides a copy of his Subversion configuration that includes property settings for many file types. You can download and install it with this:

curl``https://brlcad.org/~sean/subversion.config``>`` ``~/.subversion/config

Once installed, run svn revert on your new file and then add it again. The properties should be set if the config file is installed properly and it's a recognized file type.

This problem usually looks like this:

[sean@bz (Wed May 28 13:27:55) brlcad]$ svn commit some_new_file.c Sending      some_new_file.c Transmitting file data ...svn: Commit failed (details follow): svn: MERGE request failed on '/svnroot/brlcad/brlcad/trunk' svn: 'pre-commit' hook failed with error output: /var/local/mastertree/service-svn/hook-scripts/check-mime-type.pl:

brlcad/trunk/some_new_file.c :svn:mime-typeis not set

Every added file must have thesvn:mime-typeproperty set. In addition text files must have thesvn:eol-styleproperty set. For binary files try running svn propsetsvn:mime-typeapplication/octet-stream path/of/file For text files try svn propsetsvn:mime-typetext/plain path/of/file svn propsetsvn:eol-stylenative path/of/file You may want to consider uncommenting the auto-props section in your ~/.subversion/config file. Read the Subversion book (http://svnbook.red-bean.com/), Chapter 7, Properties section, Automatic Property Setting subsection for more help.

[sean@bz (Wed May 28 13:28:55) brlcad]$ svn revert some_new_file.c Reverted 'some_new_file.c' [sean@bz (Wed May 28 13:29:55) brlcad]$ curlhttp://brlcad.org/~sean/subversion.config> ~/.subversion/config % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current Dload  Upload   Total   Spent    Left  Speed 100 10810  100 10810    0     0  30099      0 --:--:-- --:--:-- --:--:-- 81278 [sean@bz (Wed May 28 13:30:55) brlcad]$ svn add some_new_file.c A         some_new_file.c [sean@bz (Wed May 28 13:31:55) brlcad]$ svn commit some_new_file.c ... no mime type error ...

That said, if one wanted to manually add or change a file's properties:

[sean@bz (Wed May 29 13:50:51) brlcad]$ svn add some_file.odd A         some_file.odd [sean@bz (Wed May 29 13:51:32) brlcad]$ svn propsetsvn:mime-typetext/plain some_file.odd [sean@bz (Wed May 29 13:52:16) brlcad]$ svn propsetsvn:eol-stylenative some_file.odd