upgrade - 补丁与升级

标签 upgrade patch

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

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

最佳答案

关于软件版本控制(特别是 semantic versioning ),打补丁会升级软件的补丁版本号,更新升级他们的次要版本号。对于遵循语义版本控制(MAJOR.MINOR.PATCH 格式)的应用程序,补丁定义为:

increment the [...] PATCH version when you make backwards-compatible bug fixes.



在大多数情况下,补丁会更新第三个数字,即维护版本。更新更新次要版本号。此外,补丁通常在保持兼容性的同时修复问题,而更新既可以修复问题又可以添加新功能 可能与以前的版本不兼容 .可以在补丁号之后附加一个构建号或修订号:
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 中常用。

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

关于upgrade - 补丁与升级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1302230/

相关文章:

django - 升级Django,如何获取manage.py

linux - 在 drupal 模块中应用补丁

patch - 从补丁文件中删除对特定文件的更改

c# - 为 Asp.net Web 应用程序设置安装补丁

arrays - kustomize 修补特定容器而不是通过数组 (/containers/0)

Angular 2 路由返回空白页,没有错误

iOS SDK 5.0(xcode 4.x)

bash - 在 Redhat 中升级 rsync 的问题

c# - 在运行时静默更新应用程序

macos - MacOS Catalina 上的升级 make