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


Reply via email to