[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Merges and Conflicts with Binary File Formats

From: nicholas a. evans <nick_at_ekenosen.net>
Date: 2005-03-01 00:27:46 CET


I'd like to start using subversion at my company for storing more than
just source code. In particular, I'd like to use it to store our
current documentation and content. Most of the documentation is in
various Microsoft Office (Word, Excel, Visio) formats, and most of the
content is in Macromedia Flash or various image and video codecs.
But, I'm a little concerned about one aspect of subversion: namely its
handling of binary data and how it automerges...

With source code (or other text based file formats), the merges are
almost always what you would want it to do... (and if it doesn't do it
quite right, it's easy to view the diff and copy in the changes that
were lost). But with binary files, merging would almost never work
correctly. Ideally it should *always* label them as conflicted and
never ever even *attempt* to merge them.

So, I've looked and looked to see what subversion does when attempting
to merge binary files, and I coouldn't find any confirmation at
http://svnbook.red-bean.com/ or on google.

I noticed a whole slew of emails on this topic during this month:
Binary documentation in SVN?

But that thread kept going off in the direction of using some sort of
exclusive locking to solve the problem. It seems (to me) that locking
is an extremely backwards solution, because it requires an extra step
on the users' part to ensure that the files aren't corrupted. Since
the users dealing with the binary files will tend to be managers and
artists and not programmers, I'd like to keep the process as simple or
simpler for them than it is for the programmers.

Wouldn't it be better if binary files were *never* merged and *always*
resulted in conflicts? The merge program is (presumably) never going
to result in a correct or useable merge of binary files anyway.

According to Keith Wellman's message
(at http://svn.haxx.se/users/archive-2005-02/0197.shtml):
| Yes, it's clear that binary merge is too context dependent to
| generalize, and it appears that subversion wisely punts on the issue
| and simply provides the files that any merge program would want (e.g.,
| merge-left merge-right working). Leave it to some 3rd party to support
| merging.

But I havn't been able to find any definitive documentation
documentation that states unambiguously that this is how subversion
always handles binary files.

Educating the users on what conflicts are and how to handle them, that
is easily doable. Especially when they can see that the source
control is protecting their changes from being lost, even when someone
else has made changes.

Educating the users on why the new source control system has screwed
up their documents is more difficult (especially from a "political"
perspective, as I'm the one recommending that we migrate from MS VSS
to subversion, and first impressions go a long way).

Can anyone help me out? Thanks.

nick evans  |  nick at ekenosen dot net  | `h xaris tou kuriou ihsou
seswsmenos  |  http://ekenosen.net/nick  |    xristou meta pantwn.
"the ways of love are a secret sauce / of sacrifice and grievous loss
 a crown of thorns and a double cross / are the ways of love"
   -- The Swirling Eddies, "I had a bad experience with the CIA..."
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Mar 1 00:32:57 2005

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.