| Summary: | [Algorithms] RangeDifferencer progress reporting stops at 50% | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Andre Weinand <andre_weinand> |
| Component: | Compare | Assignee: | Michael Valenta <Michael.Valenta> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | douglas.pollock |
| Version: | 3.0 | ||
| Target Milestone: | 3.3 M5 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 50335 | ||
|
Description
Andre Weinand
Problem analysis: The 3-way compare internally uses two 2-way compares. The initial guess for the amount of max work is the sum of two guesses for the two individual compares. If there are only incoming or only outgoing changes, one of the two compares exits early because there are no changes. This is the culprit. In this case the ProgressManager.worked() isn't called and the amount of work is not brought to the expected value of max work. As a consequence in many cases the total progress stops at 50%. There are two fixes possible: - use of sub progressmonitors - in case of an early exit ProgressManager.worked(max_work) is called. Fix released to HEAD Verified using I20070206-0010 |