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

Reply via email to