Kash Farooq's software development blog

.NET Developer

Merge Tools and Bazaar Source Control

Posted by Kash Farooq on October 5, 2009

Continuing on from where handling conflicts in Bazaar Source Control left off, this blog post shows some of the options you have for helping you resolve conflicts.

Once you’ve used one of the methods to resolve your conflicts, remember to tell Bazaar that you have resolved them using the “bzr resolve” command.

TortoiseMerge

Yes, yes, I know. I’ve been slagging off Subversion and Tortoise and now I’m using it to help me do my Bazaar merges. Well, I can admit that the conflict resolution tool is pretty good. And you can run it standalone.

So, install TortoiseSVN, don’t bother rebooting, go to C:\Program Files\TortoiseSVN\bin and fire up TortoiseMerge.exe.

You will be presented with this dialog:
TortoiseMerge_select_files

And now it should be obvious. Set:

  • “Base File” to SystemUnderTest.cs.BASE
  • “Their File” to SystemUnderTest.cs.OTHER
  • “My File” to SystemUnderTest.cs.THIS

After doing this and clicking OK you will see a three-way merge dialog (click to see full image):
TortoiseMerge_three_way_merge

The bottom panel is the target file.
Make your updates, click save and then tell Bazaar that you have resolved the conflict.

Winmerge

A simple option is to use Winmerge. Install Winmerge, go to explorer, right click SystemUnderTest.cs and click Winmerge.

You get a the Winmerge dialog (click to see full image):
Winmerge

Winmerge can only do a “two way merge”. The panel on the left shows PersonA’s changes. The panel on the right shows PersonB’s changes.
The panel on the right is also the current target file – if I click “Save” right now, this is the file that I would end up pushing back to the central shared Bazaar repository.
You can make any changes you want to in this right hand side panel: you can type directly into it, copy and paste into it, or copy from left panel to right panel.

Advertisements

Sorry, the comment form is closed at this time.

 
%d bloggers like this: