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

Reply via email to