2009-08-19 73 views
5

你怎麼一個「補丁」區分和「升級」?你在哪裏畫線?補丁與升級

某個規範說我需要做「X」,只要我釋放升級到產品。我需要在某處畫線。我不想違反這個規範,但我從來沒有真正明確過。

+0

作爲看到回覆後的附錄......如果承諾的增強功能不在那裏,它是「bug」還是「新功能請求」? – 2009-08-19 20:13:05

回答

7

關於軟件版本控制(特別是semantic versioning),修補程序將升級軟件的修補程序版本號,並更新升級其次要版本號。對於遵循語義版本(在MAJOR.MINOR.PATCH格式)應用程序,補丁被定義爲:

增量[...]當你向後兼容的bug修復補丁版本。

在大多數情況下,修補程序會更新第三個數字,即維護版本。更新更新次要版本號。此外,補丁通常解決問題,同時保持兼容性,而更新既可以解決的問題,以及增加新的功能這可能與以前的版本兼容。一個也可以附加生成或修訂號過去補丁號:

MAJOR.MINOR.PATCH or MAJOR.MINOR.PATCH.BUILD 

所以版本號2.1.3.089是第二個主要版本,第一次要版本(所以也就有了一個重大更新),第三維護建設(這樣以來版本2.1.0.X三個貼片被釋放),並建立089(沒有意義建立/貼片,可以被認爲指定一個唯一的版本ID /號碼作爲附加元數據的)。

關於軟件版本管理的Wikipedia article是一個有趣的閱讀。我指定M.M.M.B風格的原因是它在應用程序開發過程中通常在Visual Studio中使用。

然而,在某些情況下,最後一個數字(內部版本)被省略 - 對於最終用戶而言,很少需要這樣做。它主要僅用於開發目的。

4

我不認爲有任何「標準定義」,儘管普遍接受的定義是補丁修復了錯誤並且升級引入了新功能。

這將取決於編寫規範的人員如何定義補丁與升級,而不是我或其他人如何定義它。

4

修補程序通常是推出來解決嚴重錯誤或問題或安全問題的東西。更新或發佈可能更多地沿着軟件的附加功能和功能。

1

對我來說,最大的問題是驅動問題。

修補程序通常是爲了解決問題並因此向用戶請求。

升級通常會添加新功能,儘管有時由用戶驅動的更經常在內部啓動。

0

還有很多涉及市場營銷。

我不想爲補丁支付費用,而我可能會爲更新付費(我在看你OSX用戶)。

0

如果規範沒有定義補丁或升級,那麼你可以在任何你喜歡的地方畫線(並且認爲你可以逃脫)。假設你不想回到規範作者的指導下,我會在'錯誤修復'和'新功能'之間畫線。