Include SVN Journal Messages in Doxygen

Is there a way to configure Doxygen to include a log from SVN for a file as part of the output? Basically, we introduce fairly strict log messages in SVN when we do this, and I would like these messages to have a section inside the Doxygen output.

+4
source share
3 answers

I donโ€™t know a simple or simple solution for this, but I think you can quickly crack something together.

  • First, you can generate the 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 .
  • Secondly, you can somehow change the output. Doxygen includes a link to the html file generated in the first step. I don't know much about this, but maybe the doxygen help page on tuning is a good start.
  • Thirdly, you can write a small assembly file for your documentation that automates the first and second steps using make or shell script or batch file.

Not very elegant, but a start.

+2
source

How to use the build server (CruiseControl / Bamboo / TeamCity, etc.)? The build server will track svn for changes, and a build script (like ant) โ€‹โ€‹calls Doxygen as part of the build. I use this circuit to work on building Java and C #. The script construct can select the last commit message using "svn log" with the appropriate parameters.

+2
source

I like the idea, but it will certainly work only if you just transferred the SVN file at a time - or would the doxygen output be littered with inappropriate comments?

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

You can extract SVN commands that will display files and comments on changes by opening the SVN log file. Therefore, I believe that you could write a Windows service or a cron job that at night created a list of modified files and their comments, bypassing the log file and creating a dictionary or HashTable. In this case, at the place of the cron / win service, each mentioned file will open, find the end of the description section:

* @section DESCRIPTION * * * **/ 

and put a comment in this section.

0
source

Source: https://habr.com/ru/post/1303511/


All Articles