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? Thoughts? -- Steve Borho ------------------------------------------------------------------------------ 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