Question

Is there any way to configure Doxygen to include the log from SVN for a file as part of the output? Basically we enter pretty rigorous log messages into SVN when we do commits, and I'd like those messages to have a section inside the Doxygen output.

Was it helpful?

Solution

I don't know a simple or easy solution for this but I think you can quickly hack something together.

  • First you can generate a HTML file from the SVN log using the svn2html.xsl stylesheet from the svn2cl tool. If you don't like it it's actually not difficult to write something like that as you can read in this blog post.
  • Second you could somehow modify the Doxygen output to include a link to the html file generated in step one. I don't know much about that but maybe the doxygen manual page about customization is a good start.
  • Third you could write a small build file for your documentation that automates step one and two possibly using make or a shell script or a batch file.

Not very elegant but a start.

OTHER TIPS

How about using a build server (CruiseControl/Bamboo/TeamCity etc)? The build server would monitor svn for changes, and the build script (for example ant) calls Doxygen as part of the build. I use this arrangement at work on a Java and C# combined build. The build script can pick up the latest commit message using "svn log" with appropriate options.

I like the idea, but surely it would only work if you only committed SVN a file at a time - or the doxygen output would be littered with irrelevant comments?

I think it can be done using a batch update of SVN commits.

You can extract the SVN commits which will show the files committed and the change comments made by opening the SVN logfile. So I reckon you could write a windows service or cron job that would nightly build a list of files changed and their comments by running round the logfile and building up a Dictionary or HashTable. With that in place have the cron/win service open each file mentioned, search for the end of the description section:

* @section DESCRIPTION 
* 
*  
*
**/

and place the comment within this section.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top