| Summary: | [Subclipse] Implement the getChangeSets Iterator api | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Alvaro Sanchez-Leon <alvaro.sanchez-leon> |
| Component: | Mylyn | Assignee: | Alvaro Sanchez-Leon <alvaro.sanchez-leon> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | lmcbout, marco.masse, sebastien.dubois |
| Version: | 0.8 | Keywords: | core |
| Target Milestone: | 0.9 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Bug Depends on: | 354670 | ||
| Bug Blocks: | 355098 | ||
|
Description
Alvaro Sanchez-Leon
The initial implementation will assume that only one Iterator<ChangeSet> is needed at any given time, so each time a new iterator is requested for an associated eclipse project (e.g. new UI dialogue) the previous worker changeSet producer thread will be shutdown and a new iterator will be provided which shall start with an empty queue. The above can be later enhanced to re-use the same thread (one per project) and use a cached list of parsed ChangeSets, so the queue is filled up from the cache. This enhancement has to also consider that new commits may be available so the top of the list may need to be refreshed. I get a compile error on Java 1.5 in /org.eclipse.mylyn.subclipse.core/src/org/eclipse/mylyn/internal/subclipse/core /SubclipseConnector.java:590: MINUTES cannot be resolved or is not a field . I see.. I have just pushed the fix, Thanks for pointing this out. You can detect this if you configure a 1.5 JRE in your workspace. (In reply to comment #4) > You can detect this if you configure a 1.5 JRE in your workspace. Yes, I normally do, but missed it for this time. Thanks Implemented:
bug 355096: Stop on copied elements to avoid path resolution problems
in addition:
- Introduce maximum number of recovery attempts to obtain next vesions
after an exception
- Detect done e.g. log message list received < than CHUNK_SIZE
- Reduce poll timeout to 60 seconds
- Always use a valid version as the start of a chunk e.g. using the last
entry on the previous chunk to start the next one. but prevent adding
the last entry of every chuck to the list (to avoid duplicates)
|