LibreOffice Bugzilla 貢獻流程 === ### 參考文章 * [如何提交一個好的 Bug?](https://ithelp.ithome.com.tw/articles/10203885) * [bug 的生命週期](https://ithelp.ithome.com.tw/articles/10203243) ## 大綱 此流程可以個別拆開閱覽,請自行選擇想了解的章節。 但是為了闡述一個完整的流程,文章內容採取重由上而下的章節逐步解釋一個完整的 bug 從被生產出來到他生命來到終點的一個流程 1. 回報錯誤的流程 2. 宣示修正錯誤的聲明 3. 修改錯誤的過程 4. 提交修改終結錯誤 5. 結語 6. 附件:用詞解釋 ### (一) 回報 Bug 的流程 Bug 的類型簡單來說 1. 使用者介面錯誤 2. 功能錯誤 這份文件會以功能邏輯錯誤當作範例。 首先,無事不登三寶殿,沒有錯誤哪來的回報(千萬別吃飽沒事幹啊~) 當我在開發 LibreOffice Online 的時候觀察到後台的系統圖表有以下畫面 ![](https://i.imgur.com/QXw9727.png) ![](https://i.imgur.com/hhdNcVL.png) ![](https://i.imgur.com/KyU3mwE.png) 身為一個正常的工程師,看到網路流量出現負數就發現事情並不單純,趕緊打開 chrome 登入我的 bugzilla 來回報 ##### 進入 bugzilla 可以看到下面選單,並點選左上角的 New 按鈕來開始 ![](https://i.imgur.com/9VIA8jc.png) ##### 接著看到以下面畫面,選擇 bug 的發生專案,這邊是 libreoffice online ![](https://i.imgur.com/687nT4L.png) ##### 再來就進到回報的資訊頁面 ![](https://i.imgur.com/CXuzISE.png) 優質的資訊以幾個原則為重 1. Component & version: 確認無誤 2. Summary: 精要的描述問題(建議25個英文字以內) 3. Description: 詳細描述問題的再現步驟 4. Attachment: 呈現問題的畫面截圖 ##### 呈現結果,以下是筆者提交出的 bug [編號 #130798](https://gerrit.libreoffice.org/c/online/+/89494) ![](https://i.imgur.com/dp5PWn9.png) ### (二) 宣示修正錯誤的聲明 回報完 bug 以後,接下來可以選擇左轉離開,讓維護的開發者來決定他的 bug 生長短,也可以像筆者我路見不平拔 code 相助。 據官方的文章,我們要先將 bug 的狀態從 unconfirm 轉變到 new,把戰場從 QA 拉到 Development 方能以正確的姿態進入程式碼貢獻模式。 好消息是轉換 bug 的權限只需要登入 bugzilla,因此我也沒有等其他的人來確認我回報的 bug 就自行將其改為 New,並在留言處聲明我的工作狀態,請參考下圖的第三則 tommy.wu 留言。 ![](https://i.imgur.com/fydeQ4G.png) ### (三) 修改錯誤的流程 修正錯誤的流程如下 1. 編譯執行最新的 master 版本 2. 開分支來修正錯誤 ### (四) 提交修改終結錯誤 請看我們把錯誤提交到 gerrit 的畫面 ![](https://i.imgur.com/09isgU8.png) 提交以後會有維護者出來審核提交的程式碼,如下圖的 Michael ![](https://i.imgur.com/xGkbYrw.png) ### (五) 結語 這邊想告訴大家一個懶人包 1. 參與 bug 回報: 只要加入 LO's Bugzilla 會員 2. 提交程式碼貢獻: 只要加入 LO's Gerrit 會員 3. 審核程式碼貢獻: 只要能夠溝通 in English 前兩個步驟無須假他人之手就能推動進展,只有最後一個步驟需要與專案的維護者協助 ### (六) 用詞解釋 * LO: LibreOffice 簡寫 * Bug Report: 錯誤回報 * gerrit: 泛指 LO 的專案管理平台,[LO's gerrit](https://gerrit.libreoffice.org/) * bugzilla: 泛指 LO 的 bug 管理平台
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up