views:

6389

answers:

8

SVN merging is very time consuming (especially on large code bases) and error prone. Eclipse and Netbeans plugins don't serve me very well. At the moment I'm using a combination of manual "svn merge" and the graphical diff Meld. Are there better alternatives (non-win32)?

+3  A: 

I figured out how to use SvnMerge, which is a Python script(s), and had quite a lot of success with it. You can google for the instructions I put on my blog, or drop me a line and I'll post the vanity link.

endian
+4  A: 

Meld is arguably one of the best and one of the most used tools for non-win32. On Windows or with Wine WinMerge wins hands down. Some alternatives for Linux:

P.S. Actually on Windows the TortoiseSVN merge tool gives great results too :)

Ilya Kochetov
Unfortunately WinMerge does not support three-way merges.
Igor Brejc
+2  A: 

Actually there are reports of people using git-svn or hg-svn bridges to download a tree, preform a merge, then upload the merge. Doesn't solve the messiness part but the increased speed of the merge makes it less tedious.

BubbaT
A: 

Which platform are you running on? On Windows I use TortoiseSVN to carry out most diffs and merges pretty easily. Only some of the more complicated strands of diffs are performed with UltraCompare.

icelava
A: 

I really like Sourcegear Diffmerge. http://www.sourcegear.com/diffmerge/

nportelli
A: 

We have always used TortoiseSVN on my work. Never had any problem with the merge so I can also recommend it.

+3  A: 

I have recently started using the new Beyond Compare 3 (for Windows and Linux). It seems to consistently make better automated merge decisions then TortoiseSVN or KDiff3. Particularly on whitespace, I believe this is due to BC3s better file type configuration.

I also think its merge interface is cleaner and easier to understand then KDiff.

Mike Miller
+1 to using Beyond Compare for merging.
ShaChris23
+1  A: 

I've used svnmerge and it helps a lot. It's a command line utility, so it may not be the best tool for everyone, but it's good for me.

Mike Akers