I've refactored the visual diff code on the default branch. We no longer use any extdiff code, I've pulled all of the functionality into visdiff.py so we can work around some warts and improve a few things. The two largest changes so far are:
1) the visdiff launcher no longer changes directory, so visual diffs can be launched in-process (no more forking) 2) it uses Mercurial's merge-tools machinary to find diff tools and their configurations For example, kdiff3 is configured as: kdiff3.priority=-1 kdiff3.args=--auto --L1 base --L2 local --L3 other $base $local $other -o $output kdiff3.regkey=Software\KDiff3 kdiff3.regappend=\kdiff3.exe kdiff3.fixeol=True kdiff3.gui=True kdiff3.diff3args=--L1 base --L2 local --L3 other $parent1 $child $parent2 Further changes I'm contemplating: * Making temporary files read/only when they are static views of history * Patching Mercurial to expand environment variables in tool.executable (issue #166) * Add support for tool.directorydiffs = True, which would disable the diff window automatically if that tool was preferred. * Packaging MSWord diff scripts in the installer * Add support for diff patterns, as in: [diff-patterns] **.doc = worddiff -- Steve Borho ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Tortoisehg-discuss mailing list Tortoisehg-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss