views:

390

answers:

3

At a minimum, what I'd like is to have "hg merge" open up the conflicting versions in side by side instances of, say, MS Paint (ugh), so I can do the merging manually. Bonus points for tool suggestions other than MS Paint. At the moment I'm looking at Araxis Merge.

A: 

You could uuencode or base64-encode the images (you can set up hooks for automatic conversion), so that you don't have to deal with binary files when merging. However, merge usually works on lines and not characters and I don't how effective this is, since the enocding usually don't contain new lines.

ott
+2  A: 

Please see the merge tool configuration page in the Mercurial wiki. You can make Mercurial launch a specific merge tool based on the file extension.

The Araxis tool look cool, but I have no experience with it (I use Linux). If that doesn't work for you, I would instead make a small script that will show all three images (the base version and the two conflicting versions) and let you choose the "winner".

Martin Geisler
A: 

The Araxis Merge website states that it will integrate with Mercurial. The product is commercial so if you have a license you might want to hit them up for information on using their product with Mercurial.

If you don't have a license and want to use their product, they'll probably help you get the demo working. Then you can mock the problem using fake repositories and test it all out...

If you are trying to stay way from Commercial, then manually configuration the merge tools on a per file basis is the only way to go. I don't know of any open source or free paint programs that would support merging. As a sub for MS Paint, you could probably configure Paint.net to work with Mercurial (manually).

Frank V