This wiki is archived and useful information is being migrated to the main website


From BZFlagWiki
Revision as of 18:33, 23 February 2010 by Learner (Talk | contribs) (show how to manually set properties too)

Jump to: navigation, search

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 > ~/.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) bzflag]$ 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/bzflag/trunk/bzflag'
svn: 'pre-commit' hook failed with error output:

bzflag/trunk/bzflag/some_new_file.c : svn:mime-type is not set

   Every added file must have the svn:mime-type property set. In
   addition text files must have the svn:eol-style property set.
   For binary files try running
   svn propset svn:mime-type application/octet-stream path/of/file
   For text files try
   svn propset svn:mime-type text/plain path/of/file
   svn propset svn:eol-style native path/of/file
   You may want to consider uncommenting the auto-props section
   in your ~/.subversion/config file. Read the Subversion book
   (, Chapter 7, Properties section,
   Automatic Property Setting subsection for more help.
[sean@bz (Wed May 28 13:28:55) bzflag]$ svn revert some_new_file.c
Reverted 'some_new_file.c'
[sean@bz (Wed May 28 13:29:55) bzflag]$ curl > ~/.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) bzflag]$ svn add some_new_file.c
A         some_new_file.c
[sean@bz (Wed May 28 13:31:55) bzflag]$ 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) bzflag]$ svn add some_file.odd
A         some_new_file.c
[sean@bz (Wed May 29 13:50:51) bzflag]$ svn propset svn:mime-type text/plain some_file.odd
[sean@bz (Wed May 29 13:50:51) bzflag]$ svn propset svn:eol-style native some_file.odd