This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 154107 - Mutiple External Diff Invocations
Summary: Mutiple External Diff Invocations
Status: REOPENED
Alias: None
Product: utilities
Classification: Unclassified
Component: Diff (show other bugs)
Version: 6.x
Hardware: All Linux
: P4 blocker with 2 votes (vote)
Assignee: Ondrej Vrabec
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-28 16:27 UTC by ervt1949
Modified: 2014-10-01 14:14 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ervt1949 2008-11-28 16:27:38 UTC
When using an external diff program, such as kdiff3, the external diff program is invoked up to 3 times. After closing
the initial diff launch, a second is launched and after that is closed, a third is launched.
Comment 1 sadams 2010-04-28 08:37:28 UTC
this has also been observed using 'meld' as the external diff on fedora running 6.8 and 6.9 beta
Comment 2 geza83 2011-08-02 08:28:24 UTC
This issue affects Netbeans 7.0 (Build 201104080000).
Comment 3 idclaar 2014-01-13 23:26:49 UTC
Also observed using v 7.4 (on Windows 7 version 6.1 running on x86; Cp1252; en_US (nb)) with WinMergeU (args list: /e /maximize /u {0} {1}).
Comment 4 Ondrej Vrabec 2014-01-14 09:11:46 UTC
I' try to limit the number of diff computations a bit.
However you're using diff in the wrong way. The option in Tools -> Options -> Misc -> Diff | Use external tool does not mean the diff is supposed to display in an external diff tool but rather an external diff engine is queried to provide diff hunks of examined files. So the external tool is supposed to display no UI but instead print the diff immediately to the output so NetBeans graphical diff view can read it. If you want to display diff of two files in an external view, simply open them in the tool and do not use Tools -> Diff from NetBeans.

fix: http://hg.netbeans.org/core-main/rev/97c42ce1c533
Comment 5 Quality Engineering 2014-01-16 02:44:01 UTC
Integrated into 'main-silver', will be available in build *201401160001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/97c42ce1c533
User: Ondrej Vrabec <ovrabec@netbeans.org>
Log: #154107 - Mutiple External Diff Invocations
limiting number of diff computations
Comment 6 fish_jd 2014-02-28 17:45:20 UTC
(In reply to Ondrej Vrabec from comment #4)
> I' try to limit the number of diff computations a bit.
> However you're using diff in the wrong way. The option in Tools -> Options
> -> Misc -> Diff | Use external tool does not mean the diff is supposed to
> display in an external diff tool but rather an external diff engine is
> queried to provide diff hunks of examined files. So the external tool is
> supposed to display no UI but instead print the diff immediately to the
> output so NetBeans graphical diff view can read it. 

I humble disagree with this defination of what an exteral diff tool.   In my mind an external diff tool should display a UI.  That is the whole point.  

What we have is two items so let's define them:

1) A 'Diff Engine' which calulates the differances between two files.  
2) A 'Diff UI'  which has an UI and may include its own 'Diff Engine'.    

The current version of Netbeans(8.0 beta) on the  command 'Tools -> Options
> -> Misc -> Diff | Use external tool'  is expecting a 'Diff Engine' to calculate the diff and return it to NetBeans.  

I would suggest to add another option to add a full 'Diff UI' to this dialog.  I believe the majority of other IDEs are using the 'Diff UI' concept.  See http://www.scootersoftware.com/support.php?zz=kb_vcs  .  I expect a 'Diff UI' and would think a majority of user would agree.  

If this arguement has not persuaded you then please document the functionality of the NB external diff tool on the UI and Help screens.
Comment 7 petteyg359 2014-10-01 14:14:18 UTC
Diff is diff. Performance differences between implementations are negligible. The whole idea of "external diff tool" just being a different executable to output to the same NetBeans UI is ridiculous, IMNSHO.