2010-03-08 51 views
4

有没有什么办法可以配置Doxygen在文件中包含来自SVN的日志作为输出的一部分?基本上,我们在提交时输入非常严格的日志消息到SVN中,并且我希望这些消息在Doxygen输出中有一个部分。将SVN日志消息包含在Doxygen中

回答

2

我不知道这个简单或简单的解决方案,但我认为你可以快速破解一些东西在一起。

  • 首先,你可以使用 svn2html.xsl样式表从 svn2cl tool生成从SVN日志中的HTML文件 。如果你不喜欢 它实际上并不难 写这样的东西,你可以 read in this blog post
  • 其次,你可以修改 Doxygen输出以包含到第一步中生成的html文件的链接 。我对此不太了解,但也许doxygen manual page about customization是一个好的开始。
  • 第三你可以编写一个小文件 文件 使用make或shell脚本或批处理文件自动执行第一步和第二步可能 。

不是非常优雅,而是一个开始。

+0

+1我认为我们正在思考类似的问题,我也试图批量修改。 – amelvin 2010-03-08 23:15:05

+0

我基本上使用了你的答案,但它需要一些手工劳动来将输出的doxygen链接到svn(它看起来似乎没有自动化的方式来做到这一点)。您可以在doxygen中的注释中插入链接,以便每个单独的文件都包含一个指向生成的日志文件的链接(它有点容易出错,如果任何文件在子目录中有重复的名称,将会变得复杂)。循环遍历所有文件生成一个svn日志,然后运行doxygen全部通过一个简单的shell脚本。 – Medran 2010-03-09 21:21:20

+0

另外看看你张贴的定制页面确定有可能编写某种程序来使用doxygen的xml输出选项来自动创建svn输出和doxygen输出之间的链接,但是这看起来也非常类似很多工作。 – Medran 2010-03-09 21:23:56

2

如何使用构建服务器(CruiseControl/Bamboo/TeamCity等)? 构建服务器将监视svn的更改,并且构建脚本(例如ant)将Doxygen作为构建的一部分进行调用。我在使用Java和C#组合构建时使用这种安排。构建脚本可以使用“svn log”和适当的选项来获取最新的提交消息。

0

我喜欢这个想法,但它肯定只有在你一次只提交一个SVN文件的情况下才会起作用 - 或者doxygen的输出会散布不相关的评论?

我认为可以使用SVN提交的批量更新来完成。

您可以提取SVN提交,它将显示提交的文件以及通过打开SVN日志文件所做的更改注释。所以我认为你可以编写一个windows服务或cron作业,通过运行日志文件并建立一个Dictionary或HashTable,每晚创建一个文件列表和他们的注释。随着在地方有描述部分结束时的cron/WIN业务开放提到的每个文件,搜索:

* @section DESCRIPTION 
* 
* 
* 
**/ 

,并放置在此部分的注释。

+0

好吧,我想可能它可能会散布,但我们尝试并提交每个任务,所以1或2行注释将适用于整个提交。 – Medran 2010-03-09 17:46:19