Hi, I've spent the day trying to write a library to the changelog plug-in that will allow me to connect it to the Telelogic Change Management Synergy system (www.telelogic.com). I thought it would be a simple task, but because of the model that ChangeLog calls the executor and parser, it was more difficult and I had to hack my way into it. Problem #1: To see the history of change in CM, you run a query which returns the list of tasks that were commited to the project. In order to get the list of files, you need to run a separate query for every task. This means that I need to call the CM CLI once to get the list of tasks and then again for every task. This sounds simple to do, BUT -- you can't have more than one instance of CM CLI running at the same time. This means that I can't query the list of tasks by the ChangeLogExecutor, and then in the run the file list query from the ChangeLogParser, since the first query did not complete yet. My solution (hack): My instance of the ChangeLogParser returns the list of tasks and completes succefully. Then, at the cleanup() code of the ChangeLogParser, I iterate over these ChangeLogEntries, query CM and add the ChangeFileEntry for every entry. It's ugly but it's working. Problem #2: The file names that return from CM Synergy are not really file name, but are rather object names (I don't want to go into details as it's irrelvant why). The thing is that the transformation from changelog.xml into changelog.html always add hyper links to the file name, even if the repository connection string is not of CVS. Solution: Didn't have time to fix it, but I guess modifing the dvsl file would work. Any comments on this, and maybe adding a fix to either of these problems? Thanks, Yuval Tal XACCT Technologies
