Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 330983

Summary: Merge-tool startup time is too long
Product: [Technology] EGit Reporter: Bernard Leach <leachbj>
Component: CoreAssignee: Christian Halstrick <christian.halstrick>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: caniszczyk, christian.halstrick, mathias.kinzler, matthias.sohn
Version: 0.10.0Keywords: noteworthy
Target Milestone: 0.11   
Hardware: PC   
OS: All   
Whiteboard:

Description Bernard Leach CLA 2010-11-23 19:47:02 EST
I have a repository with 15 odd eclipse projects and around 7500 java files.  After a merge I selected the Merge-Tool option which brought up a Progress information dialog for more than 10 minutes, using git native the operation is near instantaneous before the first merge conflict prompt comes up.

The progress information seemed to show that it was inspecting every file in the workspace.
Comment 1 Chris Aniszczyk CLA 2010-11-23 21:08:53 EST
Which build? The latest nightly?

Potentially related to this...
  http://dev.eclipse.org/mhonarc/lists/jgit-dev/msg00780.html
Comment 2 Christian Halstrick CLA 2010-11-24 03:15:21 EST
I guess this is related to current performance problems regarding TreeWalks & FileTreeIterator. Although I am not sure why we should check complete trees when it is about resolving a conflict on a known path. I'll see if this can be reproduced on a big repo.
Comment 3 Bernard Leach CLA 2010-11-24 04:20:52 EST
Sorry, build version was 0.10.0.201011192.

Whats odd is that it was scanning untracked files as well!

In the test I did, I did a right-click merge-tool on a folder rather than a specific file with conflicts.
Comment 4 Mathias Kinzler CLA 2011-02-01 07:24:04 EST
Code review at

http://egit.eclipse.org/r/#change,2390
Comment 5 Chris Aniszczyk CLA 2011-02-02 10:15:55 EST
Fixed, thanks.
Comment 6 Bernard Leach CLA 2011-02-02 19:50:23 EST
The performance is much improved - about 1 minute to scan all projects.

The progress information is still showing files that are in the .gitignore (class files that have been built by ant).
Comment 7 Mathias Kinzler CLA 2011-02-03 04:31:45 EST
Code review (In reply to comment #6)
> The performance is much improved - about 1 minute to scan all projects.
> 
> The progress information is still showing files that are in the .gitignore
> (class files that have been built by ant).

This is of course confusing.

Code review at http://egit.eclipse.org/r/#change,2406
Comment 8 Chris Aniszczyk CLA 2011-02-03 10:10:04 EST
We now skip ignored resources when building the tree walk.
Comment 9 Bernard Leach CLA 2011-02-03 17:16:51 EST
With the latest change the merge-tool shows up almost instantaneously!