Description of problem: eclipse-changelog's "prepare ChangeLog" functionality does not work with Eclipse SDK 3.2. It is using an internal class but these cannot be relied upon to remain consistent and therefore should not be used. The offending call here is this: CVSTeamProvider provider.diff(fresource, Command.NO_LOCAL_OPTIONS, new PrintStream(os), new SubProgressMonitor(monitor, 500)); at line 56 of: com/redhat/eclipse/changelog/core/actions/GenerateDiffFile.java Version-Release number of selected component (if applicable): eclipse-changelog-2.2.0-2.fc6.i386 How reproducible: Always Steps to Reproduce: 1. Check out com.redhat.eclipse.changelog.core from sourceware.org:/cvs/eclipse 2. Observe error Actual results: Error Expected results: No error Additional info:
IMO, it's ok to use internal classes as long as there are no other ways to get the functionality that we need. We just have a be sure to tell people that 3.2 is required. We should also try to get the internal methods exposed as API if they would be useful to more than one plugin. Another option is to copy the classes from the SDK to the changelog plugin. This only works if the plugin is EPL though.
(In reply to comment #1) > IMO, it's ok to use internal classes as long as there are no other ways to get > the functionality that we need. Yeah, sorry, this is fine and I shouldn't have worded it so strongly. What I just discussed with Kyu was to create a 3.1 branch and have head track the latest upstream stable release.
I am working on the next realease to handle both version of eclipses (>=3.2 and <3.2). Currently, changelog 2.2.2 works with 3.2, and changelog 2.1.0 works with previous e version of eclipse(<3.2).