补丁与升级

时间:2009-08-19 19:45:19

标签: upgrade patch

您如何区分“补丁”和“升级”?你在哪里划线?

某个规范说每当我发布产品升级时我都需要做“X”。我需要在某处画线。我不想违反这个规范,但我以前从未真正明确定义过它。

6 个答案:

答案 0 :(得分:10)

关于软件版本控制(尤其是semantic versioning),修补程序将升级软件的修补程序版本号,并更新升级其次要版本号。对于遵循语义版本控制(以MAJOR.MINOR.PATCH格式)的应用程序,补丁定义为:

  

在进行向后兼容的错误修复时增加[...] PATCH版本。

在大多数情况下,修补程序会更新第三个数字 maintenance 版本。更新会更新次要版本号。此外,补丁通常可以在保持兼容性的同时修复问题,而更新既可以修复问题,也可以添加新功能,这些功能可能与以前的版本不兼容。还可以在补丁号码之后附加构建或修订号:

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中使用。

但是,在某些情况下,最后一个数字(构建)被省略 - 对于最终用户来说,很少需要它。它主要用于开发目的。

答案 1 :(得分:7)

补丁通常会被推出以修复严重错误或问题或安全问题。更新或发布可能更多的是软件的附加功能和特性。

答案 2 :(得分:6)

我认为没有任何“标准定义”,尽管普遍接受的定义是补丁修复了错误,升级引入了新功能。

这实际上取决于编写规范的人员如何定义补丁与升级,而不是我或其他任何人如何定义补丁。

答案 3 :(得分:1)

对我而言,最重要的是推动这个问题。

补丁通常用于修复问题,因此需要用户提出。

升级通常是添加新功能,虽然有时由用户驱动,但更多时候是在内部启动。

答案 4 :(得分:0)

还涉及很多营销活动。

我不愿意支付补丁,而我可能会支付更新费用(我正在考虑你的OSX用户)。

答案 5 :(得分:0)

如果规范没有定义补丁或升级,那么你可以在任何你喜欢的地方画线(并认为你可以逃脱)。假设您不想回到规范编写者那里寻求指导,我会在“错误修复”和“新功能”之间划清界线。