2010-03-08 50 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