Preface
I realise there are already a lot of questions about merging SVN branches on SO. I have read many of them, but still haven't really found the information I'm looking for, so please read this question in it's entirety before proposing to close it as a duplicate
I need to merge one SVN branch into another. I'm pretty comfortable with the theory of branching and merging, but I've always struggled with the practice of performing the merge, more specifically, with identifying and resolving conflicts. I suspect the root cause of this problem is a lack of understanding on my part of the tools required to get the job done, i.e. tortoise SVN and the various visual merging tools that are available.
Based on reading various related SO questions, I've identified Sourcegear DiffMerge and Beyond Compare as candidate tools for performing the 3-way merge. I tried DiffMerge, but struggled to use it effectively. I expected to see the following 3 files while resolving conflicts
- File from branch A
- File from branch B
- Result of performing the merge
But instead what I see is
- File from branch A
- File from branch B
- Common ancestor of A and B, AKA base revision
This led me to wonder how I can see the result of the merge after each action I take when resolving conflicts visually. I also struggled to actually perform such action, e.g. accepting a particular change from either branch A or B. After reading about the subject a bit more, it now seems that the base revision is in fact the place where the results of the merge should be shown, is that correct?
I think a screencast or video tutorial that demonstrates merging branches with Tortoise SVN and a visual merge tool would probably answer most of my outstanding questions about how to use these tools effectively. I'm more interested in the process of resolving conflicts that performing the merge itself, but it would be great if both were covered.
Thanks, Don