Twiddle wakka用于语义版本控制

时间:2017-01-17 06:01:45

标签: ruby semantic-versioning

来自thoughtbot

  

〜> 1.1意味着当你捆绑安装时,你将获得在> = 1.1和<范围之间的最高释放的宝石版本。 2.0

     

〜> 3.0.3意味着当你捆绑安装时,你将获得范围> = 3.0.3和<之间的最高发布的gem版本的rails。 3.1

来自semver 2.0

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.

那么~>0.1.0会从1.0.0 > x >= 0.1.0

带你去

此外,v1.0.0当人们说他们正在努力获得one point oh版本时,人们所指的是什么"出门?即使在1之后有两个0。

1 个答案:

答案 0 :(得分:1)

基本上使用twiddle-waka(~>),只有最后一位数字可以改变。

~> 0.1.0不会将您带到0.1.x以外的任何内容,因此不会1.0.0,甚至不会0.2.0

在我看来,要指定一个跟随semver意图的版本,可以指定一个小的twiddle-waka,例如。 ~> 0.2。因此,您可以获得功能升级(至0.3(.x)0.4(.x)0.x.y,甚至0.10.99!),但不会向后发生变化(至1.0或{{ 1}})。

如果您希望能够进行1.0.x更改,那么从同一规范的MAJOR转到1.02.0,我想你不要真的有版本规格! ; O)

话虽这么说,一些对你的项目更基础/更重要的宝石可能会受益于更紧密的关注,例如补丁级9.0~>。 (这是我在Rails项目中使用Rails的策略。)基本上,任何使升级/升级变得非常重要的事情。

(是的,提到“一点哦”包括~> 4.2.171.0.0等等)