This is a subjective evaluation of gPyFm. Please add your opinion. == Description == gPyFm is a !OpenSolaris-ish merge tool by Dave Marker @ Sun. It was created with the following design goals: * 3 way merge with two sources side by side and result pane below (ruling out meld) * no qt dependencies (ruling out kdiff3) * similar to Suns internal teamware "filemerge" utility (ruling out anything else) qPyFm is a [[http://www.opensolaris.org/os/licensing/opensolaris_license/|CDDL]] Python GTK tool. Apparently its web page is at [[http://genunix.org/wiki/index.php/gPyFm|genunix]] where a [[http://genunix.org/wiki/index.php/gpyfm-tutorial|tutorial]] also can be found. A stale hg depot can be cloned from {{{ssh://anon@hg.opensolaris.org/hg/scm-migration/gpyfm-gate}}}. The [[http://bugs.grommit.com/buglist.cgi?content=gpyfm|issue tracker]] does not show much activity. Apparently (according to IRC rumours) gPyFm had some unresolved bugs and has been shelved. TortoiseHg no longer includes gPyFm. == Usage notes and tips == * {{{gpyfm.py}}} ''child'' ''ancestor'' ''parent'' - will use the name of ''child'' as headline for the merge, and the content of ''child'' and ''parent'' will be merged to ''ancestor'' * The merge process is very managed; one change has focus at a time, and all changes must be resolved * Changes are resolved by accepting or rejecting one side - intentionally not flexible * The "Merge" button auto-merges as many changes as possible * The "ancestor" pane is editable for manual merging or cut'n'pasting of details from "child" or "parent" * Focus on one change at a time - the color code of symbol shows how it is resolved * Only color coding of symbols - and available options - shows which changes have been resolved and how and which haven't * Changed in one side only is marked with "|" (but it isn't highlighted what it has been changed from) * Added in one side only is marked with "+" (but it isn't highlighted where it has been inserted) * Deleted in one side only is marked with "-" == Some issues == * No overview of performed/outstanding merges * There is no simple way to change individual resolutions - they can only be undone serially * GUI works well but isn't "explorable" or intuitive * Stale upstream * Source doesn't work out-of-the-box, and there is no packages available == Conclusion == When you get used to it and understands what it does then it works OK... But you probably don't want to start using this tool unless you have good reasons to do so.