Subversion joins the ranks of the many applications that recognize
and make use of Multipurpose Internet Mail Extensions (MIME) content types. Besides being a general-purpose storage
location for a file’s content type, the value of the
property determines some behavioral characteristics of Subversion
For example, one of the benefits that Subversion typically
provides is contextual, line-based merging of changes received from the
server during an update into your working file. But for files containing
nontextual data, there is often no concept of a “line.” So,
for versioned files whose
svn:mime-type property is set to a nontextual
MIME type (generally, something that doesn’t begin with
text/, though there are exceptions),
Subversion does not attempt to perform contextual merges during updates.
Instead, any time you have locally modified a binary working copy file
that is also being updated, your file is left untouched and Subversion
creates two new files. One file has a .oldrev extension and contains the BASE
revision of the file. The other file has a .newrev extension and contains the contents
of the updated revision of the file. This behavior is really for the
protection of the user against failed attempts at performing contextual
merges on files that simply cannot be contextually merged.
svn:mime-type property, when set to a value that does not indicate textual file contents, can cause some unexpected behaviors with respect ...