Todays favorite tool: svnmerge.py


I was about to have fun merging our two branches in rhdevstudio, the Eclipse 3.3 branch onto main trunk, when I remembered Emmanuel whining about the false promise of svn and all the issues he had. His issues were apparently partially because of his IDE but probably mainly because svn surprisingly does not keep track of merges by default.

Luckily I remembered noticing svnmerge.py the other day and tried using it today.

It is great and I don't need an PhD to use it (keeping The SVN Book near by is though still recommended :)

svnmerge init [theotherbranch + possible revision info] on the two branches you want to merge (if you did a svn copy initially the revision info is not needed)

svnmerge avail to see the revisions that are available for merges

svnmerge merge [piecemal revisions] to do the merge either piecemal or one big merge.

The wonderfull thing is that svnmerge uses svn properties to keep track on which revisions you have already applied and from where. Making the merge info easily available and future additional merges trivial.

Excellent!

note: the only thing i'm annoyed about with respect to svn is that the actual svn merge or svn diff seem to be extremely heavy operations - or at least very little informative about its progress even with the verbose flag ;(