On Wed, Apr 8, 2009 at 4:00 AM, Steve Borho <st...@borho.org> wrote: > I'm stuck in a dilemma regarding the visual diff system as it's > developing on the crew repository. > > I've pulled the extdiff functionality into TortoiseHg, creating a new > visdiff.py module under hggtk. > It has three improvements over extdiff: > > 1) Uses py2.4's subprocess module to launch your tool, so no more > escaping issues and no more cmd windows > 2) Provides a GUI for selecting among the diffable files (no more > directory diff requirement) > 3) Directly compares against the working copy files, even when more > than one file is being diffed. > > It's currently only wired up to the 'hgtk vdiff' command (and thus the > shell context menu). > > Here's my delimma. I've already removed one of the two major > stumbling blocks for setting up any any arbitrary diff tool by > removing the requirement for your tool to support directory diffs > (making tools like p4merge now useable). The other major stumbling > block that new users run into is making sure their tool does not fork > another process. The way extdiff normally operates, it creates > temporary copies of the files you are comparing, launches your diff > tool, waits for the tool to exit, then cleans up those temp > directories. Many tools fork a GUI process and exit immediately, > which then sets up a race condition on whether they read the temp > files before those files are deleted (see issue #126). > > When the visdiff GUI is launched, it holds the temporary files in > place until our GUI is closed. This removes the requirement for the > tool not to fork an extra process, it no longer matters. However, > today we only launch the GUI when more than one file is diffable. If > only a single file is to be compared, we launch the diff tool directly > (less clicking, and all). > > So what I'm asking is whether you, the users, think removing this last > requirement on the diff tools outweighs the annoyance of bringing up > the selection GUI even when there is only a single file to be diffed?
It's not that clear to me what the 'last requirement' is. Please help elaborate. > Thoughts? ------------------------------------------------------------------------------ This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com _______________________________________________ Tortoisehg-discuss mailing list Tortoisehg-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss