[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.technology.subversive] Building a complete Range Difference

Hello,

i want to build a complete RangeDifference for a single file, stored in SVN. I have to extract author, adds/changes/deletes, timestamp and revision identifier in order to build a change histogram.

Thus I am using the Eclipse Team API and retrieve all revisions from the IFileHistory:

 revisions = history.getFileRevisions();

Next, I iterate from the back to the front and compare two neighbouring revisions (except the first, that's a complete add). The Comparators are the LineComparators taken from Eclipse's Compare.Internal.Merge (yah, bad practice...). To initialize them, I have to access the contents, thus retrieve the storage of a revision:

 comparator = new LineComparator(revision.getStorage(progress));
 //...

RangeDifference[] differences = RangeDifferencer.findRanges(comparator, contributingComparator);


My Problem: The retrieved contents of all revisions is the same (while beeing different on svn). Looking into the instances of revision and contributor (the one revision before) reveals that the remote object inside is the same instance and has HEAD selected.


Am I using the API in a wrong way or is there some bug hidden? I hope you can help me.

Yours,
Sebastian

PS: I cannot depent up on subversive directly.