# Appendix?D.?報告bug的樣例指導
這是Subversion項目針對新用戶如何報告bug的在線指導的少許修改版本。為什么項目有一個這樣的指導的重要性請見[Chapter?8, *管理志愿者*](# "Chapter?8.?管理志愿者")的[the section called “將每個用戶當作潛在的志愿者”](# "將每個用戶當作潛在的志愿者")。原始的文檔位于[http://svn.collab.net/repos/svn/trunk/www/bugs.html](http://svn.collab.net/repos/svn/trunk/www/bugs.html)。
~~~
Subversion中如何報告Bug
該文檔說明了如何以及在何處報告Bug。(這里不是所有現存Bug的列表 - 您可以
在這里得到。)
何處報告Bug
---------------------
* 如果是Subversion本身的Bug,可以發送郵件到users@subversion.tigris.org。
如果確認是bug,或許您可以將其輸入問題跟蹤系統。(或者如果您對Bug
非常確定,可以直接在我們的開發列表dev@subversion.tigris.org發布。
但是,如果您不能確定,最好首先在users@提交;某人會告訴您您所遇到的
情況是否與預期一致。)
* 如果是APR庫的Bug,請同時在以下列表中報告:
dev@apr.apache.org,dev@subversion.tigris.org
* 如果是Neon HTTP庫的Bug,請同時在以下列表中報告:
neon@webdav.org,dev@subversion.tigris.org
* 如果是Apache HTTPD 2.0的Bug,請同時在以下列表中報告:
dev@httpd.apache.org,dev@subversion.tigris.org。Apache httpd
開發者郵件列表流量較大,您的報告可能會被錯過。您也可以在
http://httpd.apache.org/bug_report.html發起一個bug。
* 如果您的毯子有bug,請給他一個擁抱讓它保持溫暖。
如何報告一個Bug
-------------------
首先,請確保它是一個bug。如果Subversion無法按照您的預期工作,請檢查
文檔和郵件列表,確保它確實應該按照您的預期工作。當然,如果是常識,
例如Subversion破壞了您的數據并導致您的顯示器冒煙,您可以相信自己的
判斷。但是如果并不確定,請繼續在用戶郵件列表users@subversion.tigris.org
中詢問,或者在IRC的irc.freenode.net中的頻道#svn中詢問。
一旦您確定是一個bug,最重要的事情得到一個簡單的描述和重現步驟。例如,
如果您發現的bug,只會發生在5個文件的10次提交中,請設法使之在單個文件
的單個提交中發生。重現步驟越簡單,開發者越有可能重現bug并修正它。
當您寫下重現步驟時,不要僅僅寫下使bug發生的散文描述,而應當給出一個
您所運行命令的一系列文本腳本,及其輸出。請使用復制粘貼,如果與文件
有關,請包含文件名,如果您覺得與內容有關,也請提供文件內容。最好是能
提供打包的重現步驟腳本,那會使我們獲益良多。
快速健全性檢查:您正在運行Subversion最近的版本,對吧?:-)或許bug已經
修正;請對最新的Subversion開發樹運行重現步驟進行測試。
除了重現步驟,我們也需要重現Bug的完整環境描述。包括:
* 您的操作系統
* Subversion的發布版本和修訂版本
* 構建Subversion的編譯器和配置選項
* 您對Subversion的私下修改
* 運行Subversion的Berkeley DB版本,如果使用的話
* 所有其他可能相關的事情,寧肯信息多一點也不要少一點。
一旦完成了這些,您就準備好了編寫報告了。從對Bug的簡短描述開始,也就是
您對Subversion的預期行為方式,與之對應的實際行為方式。雖然Bug對
你是顯而易見的,但對其他人可能并不是這么明顯,所以最好可以避免猜謎游
戲。然后是環境描述,以及重現步驟。如果您希望也可以包含對于原因的猜測,
甚至是修正bug的補丁,那樣就太棒了 - 關于發送補丁的指導請看
http://svn.collab.net/repos/svn/trunk/www/hacking.html#patches。
將所有信息發送到dev@subversion.tigris.org,或者如果您已經在此詢問并被
要求發起一個問題,可以根據這里的指導進入問題跟蹤系統。
謝謝。我們知道要發起一個有效的bug報告還有很多事情要做,但是一個好的報告
可以為開發者節省大量時間,會讓bug更有可能被修正。
~~~
- 前言
- 為什么寫這本書?
- 誰應該讀本書?
- 資料來源
- 致謝
- 免責聲明
- 1. 介紹
- 歷史
- 現狀
- 2. 起步
- 從你擁有的開始
- 選擇許可證并應用
- 設置風格
- 通告
- 3. 技術基礎設施
- 一個項目需要什么
- 郵件列表
- 版本控制
- Bug跟蹤
- IRC / 實時聊天系統
- RSS供稿
- Wikis
- 網站
- 4. 社會和政治的基礎架構
- 慈善獨裁者
- 共識為基礎的民主(Consensus-based Democracy)
- 寫下所有的內容
- 5. 金錢
- 參與的類型
- 長期雇傭
- 作為一些個體出現,而不是一個整體
- 公開你的動機
- 錢不能讓你可愛
- 契約
- 資助非編程活動
- 市場營銷
- 6. 交流
- 人如其文
- 避免常見的陷阱
- 刺兒頭
- 處理成長
- Bug跟蹤系統中無對話
- 公開性
- 7. 打包、發布和日常開發
- 版本號
- 發布分支
- 穩定發布版本
- 打包
- 測試和發布
- 維護多發布線
- 發布和日常開發
- 8. 管理志愿者
- 從志愿者中獲取最多
- 像分擔技術任務一樣分擔管理任務
- 轉化
- 提交者
- 榮譽
- 分叉
- 9. 許可證,版權和專利
- 術語
- 許可證的方面
- GPL和許可證兼容性
- 選擇一個許可證
- 版權分配和所有權
- 雙許可證模式
- 專利
- 深入資源
- A. 自由版本控制系統
- B. 自由Bug跟蹤系統
- C. 為什么我要關注車棚的顏色?
- D. 報告bug的樣例指導
- E. 版權