Community
Participate
Working Groups
The current api to obtain the changesets associated to a repository returns a complete list. public abstract List<ChangeSet> getChangeSets(ScmRepository repository, IProgressMonitor monitor) throws CoreException; Obtaining the full list may take several minutes as these are often in the order of tens of thousands. a new api returning an Iterator<ChangeSet> shall provide the possibility to implement cache mechanisms or query by smaller chunks as the user move along the list.
Update: Implementation started and is based on: 1) core api updates to return a ChangeSet Iterator 2) internal Blocking queue (core) to limit the number of parsed changesets e.g. max 40 3) implement thread to fill in queue as room becomes available e.g. looping to retrieve and resolve base and target versions in chunks of 20 changesets 4) modify UI to use the new interface and consume the elements in the queue via the iterator
(In reply to comment #1) > Update: > Implementation started and is based on: > > 1) core api updates to return a ChangeSet Iterator > 2) internal Blocking queue (core) to limit the number of parsed changesets e.g. > max 40 > 3) implement thread to fill in queue as room becomes available e.g. looping to > retrieve and resolve base and target versions in chunks of 20 changesets > 4) modify UI to use the new interface and consume the elements in the queue via > the iterator The implementation above is specific to subclipse and therefore the implementation is now tracked on bug 355096 and Bug 355098
Implemented and committed