SubVersion (hereafter referred to as svn) does not attempt to merge
binary files. That being said, our rebasing process (merge from more
shared to less shared branch to resolve all conflicts before merging the
other way) can easily result in the addition or modification of a binary
file on both the source and target branches. Svn compare the two
binaries while merging and does not report a conflict, but leaves them
conflicted in the working copy. This is easy enough to work around, and
I believe has already been reported as a defect (2403). I imagine the
following work around will not be needed in a future version. Can
anyone confirm this is the same defect and is being worked? If it
sounds like a new defect, I can add it to the issue list.
Here is the scenario:
Create a branch (of the trunk)
Add binary file to trunk
Rebase (merge) trunk to branch - this adds the binary file to the branch
Merge branch to trunk - svn will notice the file was added to the branch
and refuse to merge with the (identical) one on the trunk
How do you deal with these binary files which after a rebase may
(should) actually be identical? It's simply a matter of asking svn to
diff the conflicted files to verify that they are indeed indentical:
svn status -q | awk '{print $2}' | xargs svn diff
There should be no differences. If this is the case it is trivial to
resolve the assumed conflict with:
svn status -q | awk '{print $2}' | xargs svn resolved
Received on Tue May 9 19:18:57 2006