Scalability: don't run incremental update if there are too many changes
commitf58519649507bbc1ec9ec32e71fbce13c53f9f81
authorAndrey Loskutov <loskutov@gmx.de>
Mon, 19 Jan 2015 15:14:45 +0000 (19 16:14 +0100)
committerAndrey Loskutov <loskutov@gmx.de>
Sun, 1 Feb 2015 23:04:15 +0000 (2 00:04 +0100)
treedc326c0067d7ed2b2c0b0b4524abcb44101dd155
parent2729907cec4b96d156f427027eb0b6d63171b439
Scalability: don't run incremental update if there are too many changes

Always check if the number of changed files exceeds the magic limit for
incremental index updates. In case of huge repositories with lot of
ignored files (> 65000) the incremental merge of ignored lists can be
highly inefficient if the number of changed files is higher then 2000.

Added tests for job scheduling to make sure reload and update are used
as expected.

Bug: 452237
Change-Id: I6cb733ae24a1eec33becb3aff0f96da151365a41
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntryTest.java [new file with mode: 0644]
org.eclipse.egit.core.test/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffDataTest.java [new file with mode: 0644]
org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffCacheEntry.java
org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffData.java
org.eclipse.egit.core/src/org/eclipse/egit/core/internal/indexdiff/IndexDiffUpdateJob.java