您如何区分“补丁”和“升级”?你在哪里画线?
某个规范说,每当我发布产品升级时,我都需要做“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/