9

今天我的一位同事告诉我,有些项目使用了一种奇怪的、恕我直言的方式对其版本进行版本控制。如果发行版不稳定,则次要版本为奇数,例如。1.3,1.5。另一方面,稳定版本有一个更小的版本号,例如。1.2,1.4。

起初我不敢相信自己的耳朵,这似乎是不真实的。然后Wikipedia启发我,这是一种来自 Linux 内核社区的做法,尽管它似乎(?)最近被放弃了。

几个小时后,我正在阅读Programming Ruby 的序言,我看到了什么?Ruby 对版本号使用相同的约定。

你对此有何经验?您知道哪些(开源)项目/产品使用此版本控制模式?如果他们遵守这个约定,有没有一种简单的方法可以快速弄清楚?有那么受欢迎吗?我在 3 年多前就开始了软件开发,以前从未听说过这种做法。

感谢您的回复。

4

3 回答 3

5

linux 内核在 2003 年开始使用 2.6 内核时放弃了这种做法(即 2.4 是具有相应 2.5 开发分支的最后一个稳定版本)。我只是查看了我在硕士论文中写的关于项目的一般性内容:

将稳定分支和开发分支分开是开源项目中非常常见的策略,尽管有些使用更多{footnote}。使用的版本号通常也使用 abc 形式的奇数/偶数方案,其中 a 是主要版本号,b 是偶数表示稳定版本号,奇数表示开发版本号,c 是序列版本号(有时还使用额外的 d )。

{footnote} 例如,XEmacs 开发分为三个分支:stable、gamma 和 beta。Debian 使用experimental、unstable、testing 和stable。

有关 linux 内核的更多详细信息,请随意阅读整个“2.2.4 Linux 开发分支”一章。

编辑:原始链接已经消失,这是一个新链接和正确的引用:

Løvdal, H. (2006)。一个开源看门人项目的分析和描述(硕士论文,Høgskolen i Agder)。

于 2009-08-12T14:20:57.407 回答
2

许多开源项目确实使用了这种方法,但大多数都改用了其他方法。例如,Linux 内核曾经这样做(很久以前)。最近,Mesa(Linux 的开源 OpenGL 堆栈)在 2.5 版本中停止使用这种方法。

恕我直言,所有版本都应该相对稳定。如果它还不稳定,它应该是一个 alpha 或 beta 版本。例如,KDE 4.0 版本就是一个可怕的错误。4.0 应该是 alpha。4.1 应该是测试版。4.2 是第一个真正可用的版本。

于 2009-08-12T14:23:57.543 回答
2

GTK+ 和 GNOME 也使用该版本控制方案。请注意,自 1.9(稳定)以来,ruby 不再使用此方案。

于 2009-08-12T14:26:54.073 回答