# 如何設定 TortoiseSVN 整合 Bug Tracker 系統

之前我[曾經介紹](/post/2008/07/27/Useful-tools-Bug-Tracker)過一個好用的 [Bug Tracker](https://web.archive.org/web/20051214042456/http://www.twbsd.org/cht/bug_tracker/index.php) 軟體，可用來追蹤軟體專案中的需求、瑕疵或錯誤，今天要來說明如何透過簡單的設定讓 [TortoiseSVN](https://tortoisesvn.net/) 能夠跟 [Bug Tracker](https://web.archive.org/web/20051214042456/http://www.twbsd.org/cht/bug_tracker/index.php) 可以緊密結合在一起，讓版本管理(Source Control)與錯誤追蹤(Bug Tracker)結合的最大好處就是整體軟體開發環境能夠更佳健全，讓日後在查詢或追蹤版本紀錄時，也能夠與錯誤追蹤或功能需求連結在一起。

首先，你必須先瞭解 Bug Tracker 的 URL 結構，例如說我公司內的 [Bug Tracker](https://web.archive.org/web/20051214042456/http://www.twbsd.org/cht/bug_tracker/index.php) 其中一個專案(Project)的一個回報項目(Report Item)網址格式如下：

```
http://10.0.0.33/bug/report/report_show.php?project_id=1&report_id=24
```

其中你可以看到專案編號(project\_id)是 1，而回報項目(report\_id)的編號是 24，而在我們公司一個專案就是一個 Subversion Repository，所以等等要設定 [TortoiseSVN](https://tortoisesvn.net/) 的時候 project\_id 可以固定，而回報項目(report\_id)我們就設定在要 commit 的時候輸入「編號」即可。

接著，我們就來設定 TortoiseSVN 的部分，你先設定 Subversion 工作目錄的屬性(Properties)，記得在專案的最上層目錄設定：

![TortoiseSVN - Properties](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/b52075109af015a27dc0-image_3.png)

然後新增一個 Property

[![TortoiseSVN - Properties - Adds a new property](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/da33351170683a5a6e3a-image_thumb_1.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/f783cbaeadbdc8d5fef7-image_5.png)

然後選取內建的 bugtraq:url 屬性

[![TortoiseSVN - Properties - Adds a new property - bugtraq:url](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/a3932011d7f0abaa190d-image_thumb_2.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/19da5a28621aad72281d-image_7.png)

並在 Property value 中輸入以下網址，其中將 report\_id=24 的 24 代換成變數 %BUGID%

```
http://10.0.0.33/bug/report/report_show.php?project_id=1&report_id=%BUGID%
```

[![image](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/6e9d2b540cacd4445f8b-image_thumb_3.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/5dbbbc66d3231835be09-image_9.png)

然後再新增一個 bugtraq:message 屬性，其屬性值跟 bugtraq:url 設定的一樣即可，所有設定就大功告成。

設定完成後，當你在 commit 時，就會看到如下的視窗，視窗的右上角會多出一個 Bug-ID / Issue-Nr 的欄位可以讓你輸入編號：

[![TortoiseSVN - Commit](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/1befd896594c752fc48c-image_thumb_4.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/40bf8354454f67159fac-image_11.png)

之後當你使用 SVN Show log 查看紀錄時，Message 的部分就會自動加上連結，讓你直接點選就可以連結到 Bug Tracker 系統的網頁或 Issue Tracking 系統的網頁。

[![TortoiseSVN - Log Messages](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/53afec24e0a12283cd29-image_thumb_5.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/501ef870b8091f35f248-image_13.png)

在 TortoiseSVN 的內建屬性 bugtraq:\* 中還有好幾個，可以針對 Bug Tracker 整合做出一些微調，有興趣的人可以到[這裡](https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-bugtracker.html)查看完整的說明。

**相關連結**

-   [Integration with Bug Tracking Systems / Issue Trackers](https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-bugtracker.html)
-   [TortoiseSVN 1.5.2 說明手冊單頁完整版](https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-bugtracker.html)
