Bug的狀態

一個report的status代表的是被回報的bug目前的該發處理狀態,這個狀態可以經由在頁面的最上方,按一下目前的狀態來改變。底下列出了所有的status,還有其含意,還有何時使用:

New:

  • Reports剛剛被送出來。
  • 通常會缺少資訊。
  • 應該全部是『untriaged』。

Incomplete:

  • 如果你有需要問reporter任何問題的話,記得將report設定為『Incomplete』。
  • 當你有要求reporter在提供任何必須的資訊時,請確定你有訂閱『subscribe』這個report,這樣這個report有任何更新時,你的e-mail才能接到相關的更新。
  • 只要任何人有評論的話,通常都會重新設定60天倒數的expiration clock。
  • 更多的訊息請參考『https://wiki.ubuntu.com/Bugs/Responses 』。

Opinion:

  • 代表的是report和其他人之間不同意見的討論,通常他們可以繼續討論,但是這個report必須被考慮要轉成『closed』,因為這樣project或是package的維護者才能不會浪費太多時間在這邊,可以去做其他的事情,而這個討論可以持續的繼續。
  • 這個狀態可以被當成是一個實驗,並且被密切的監測。

Invalid:

  • 這個狀態代表這個report已經被『close』了,並不會被更進一步的分類還有工程師也不會去管他了。
  • 這個狀態應該被使用在:
    • 這個report並沒有包含適當的資訊來決定它是否是個bug,即使它已經被reporter解決掉了。
    • 這個report根本不是bug,有可能是因為reporter自己缺少相關知識而誤報的。
  • 用這個狀態要小心,因為當被設定成這個狀態後,就不會顯示在預設搜尋上。
  • 再三確認這個report是否真的是屬於『invalid』。

只有一個『valid』和清楚描述的bug才能讓工程師有效率的處理,所以有需要的話你可以參考一下『Bugs/Improving』來幫助你更加有效率得來分類處理這些bug。

Expired

  • 這個狀態相似於『Invalid』,但是更具體的含意是這個bug處於『Incomplete』太久了。
  • 這個狀態只能被使用launchpadlib或是email介面來設定。
  • 就像是『Invalid』一樣,只要被設定成這個狀態後,就搜尋不到。

Confirmed:

這個狀態分成兩個部份:

  • 除了Ubuntu以外的套件:
    • 其他的reporter也有經歷過相同的issue,所以這個bug進來的時候的形式有可能是複製(duplicate)的report或是一則評論。
    • 想要confirm這個report需要其他不是這個reporter的第三方確認過,這樣可以確保並不是硬體的問題還是缺少一些相關知識的誤判。
    • 正常來說,請不要confirm你自己所屬的bus,除非這個套件的研發團隊有特別聲明說你可以這樣做。
  • Ubuntu only:
    • 『Confirmed』代表原始的reporter已經有附上充足的資訊可以分類。
    • 或是上次有缺少資訊,但是經過你要求後,reporter已經附上充足的資訊了。

Triaged:

  • 代表至少一個『Ubuntu Bug Control』團隊的成員相信這個report已經有充足的資訊,而工程師已經可以開始修復這個bug了。
  • 轉這個狀態之前請在三確保這個report已經有充足的資訊可以讓工程師開始動工了。
  • 如果不是一個需求的話,一個report的Ubuntu task status必須在任何upstream 轉發之前將其分類。
    • 如果有任何的report是關於『Linux』的,也就是不是只屬於Ubuntu的,這個狀態意思是原始的reporter已經在最新的upstream mainline kernel上測試過了。
  • 對於 process reports(eg. FFessyncs),『Triaged』這個狀態代表的是這個action已經被相關的開發者所允許了。

In Progress:

  • 你必須將report指派(assinged)給你自己,而且要馬上發送一個patch來定位這個report。這個狀態不適用於『simply debugging』的case(像是bisecting,測試一個由其他人所提供的patch,一個work around等等)。
  • 千萬不要將一個report給assign給其他人。
  • 如果有個『assignee』已經超過6個月而且沒有修復也沒有反應的話,則必須要『unassign』它並且回朔其狀態。

Fix Committed:

分成兩個狀況:

  • Ubuntu task:這個changes已經被『pending』,並且即將被上傳。
    • 當一個更新的套件已經在『proposed repository』上時,也會使用這個『Fix Committed』。
    • 當一個patch被attached到report上時。沒使用『Fix Committed』。
  • Upstream task:已經在bzr/CVS/git/SVN上修復,或者是已經被commit 到其他地方了。

Fix Released:

分為兩種狀況:

  • Ubuntu task:已經在最新的Ubuntu release修復了,而且是一個standard upgrade。
    • 如果這個bug依然影響一個舊的Ubuntu release,則請在相關的地方『nominate』這個bug(我不確定是什麼意思,是在開一條report嗎?還是需要支會誰?),這樣其他人才會知道在那個版本沒有被修復。
    • 這個狀態指示個偏好,並不是必須的,代表的只是這個套件的哪個版本在何時被release。
  • Upstream task:在一個tarbell裡面有相關修復。

Won't Fix:

  • 這個狀態就是有時候當修復(fix)太有爭議的話。
  • 最常的狀況是就是這個report在特定的版本不會被修復,但是在晚一點的版本才會被修復。
  • 有可能現在工程師不想要實做,所以會放到『feature requests』上。

底下這幾種狀況的改變被限制只有『Bug Control』團隊的成員或者是套件的維護者才能改變:

  • 改變成『Triaged』或是『Won't Fix』。
  • 從『Won't Fix』改變成其他狀態。
  • 將target改成其他特殊的Ubuntu release。

底下整理一下處理每個task所需要的資格:

New Bugs
- 需要Launchpad的帳號。
Confirmed Bugs
- 需要Launchpad的帳號。
- 需要Bug Control的成員。
Forwarding upstream
- 需要Launchpad的帳號。
- 需要一個upstream bug tracker的帳號。
Old Bugs
- 需要Launchpad的帳號。

results matching ""

    No results matching ""