微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

补丁是否可以包含 SemVer 中的附加内容?

如何解决补丁是否可以包含 SemVer 中的附加内容?

我正在尝试为我正在处理的 python 包采用版本控制系统(我对这些系统很陌生),并且我一直在阅读语义版本控制。我非常喜欢这个系统,但在某些情况下我会重新考虑,特别是对于这样的事情:

假设(愚蠢的例子)我们的 v0.1.0 包有一个 Bob 类和几个方法

class Bob:
    def __init__(self,age,coolness):
        self.age = age
        self.coolness = coolness

    def says_hi(self):
        return "Hi!"

    def says_bye(self):
        return "Bye!" 

假设我们添加以下极其简单方法

    def says_good_day(self):
        return "Good day!"

... 现在是一个非常复杂方法

    def explains_the_meaning_of_life(self):
        ... # bob explains it here

根据语义版本规则,任何向后兼容的添加都应该将次要版本增加 1。因此,如果我们分别实现这两种方法,我们现在已经增加到 v0.3.0。但是我发现我们为这两个向后兼容的添加分配相同的“权重”是不寻常的,尽管一个非常简单,一个非常复杂。您能否证明将第一个添加指定为补丁更新,将第二个添加为次要更新? 我是否误解了语义版本控制的要点,甚至考虑“复杂”与“简单”添加,即添加只是添加

解决方法

我是否误解了语义版本控制的要点,甚至考虑“复杂”与“简单”添加,即添加只是添加?

是的,我会这么说。语义版本控制与变更的复杂性无关,而是与变更对升级到新版本的现有客户的影响有关。在这种情况下,影响是相同的:以向后兼容的方式添加了一项新功能。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。