Twiddle wakka для семантического управления версиями

От thoughtbot:

~› 1.1 означает, что при пакетной установке вы получите самую последнюю версию gem в диапазоне от ›= 1.1 до ‹ 2.0.

~› 3.0.3 означает, что при пакетной установке вы получите самую последнюю версию gem версии rails в диапазоне ›= 3.0.3 и ‹ 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? Даже когда есть два 0 с после 1.


person mbigras    schedule 17.01.2017    source источник


Ответы (1)


В основном с твиддл-вака (~>) может измениться только последняя цифра.

~> 0.1.0 не приведет вас ни к чему, кроме 0.1.x, следовательно, не к 1.0.0, и даже не к 0.2.0.

На мой взгляд, чтобы указать версию, соответствующую некоторым намерениям, нужно было бы указать второстепенный twiddle-waka, например. ~> 0.2. Таким образом, вы получаете обновления функциональности (до 0.3(.x), 0.4(.x), 0.x.y, даже 0.10.99!), но не изменения, нарушающие предыдущую версию (до 1.0 или 1.0.x).

И если вы хотите иметь возможность изменять MAJOR, то есть переходить от 1.0 к 2.0 и 9.0 в одной и той же спецификации, то, полагаю, у вас на самом деле нет спецификации версии! ;о)

При этом некоторые драгоценные камни, которые являются более фундаментальными / центральными для вашего проекта, вероятно, выиграют от более тщательного отслеживания с помощью уровня исправления ~>, например. ~> 4.2.17. (Это стратегия, которую я использую, например, с Rails в проекте Rails.) По сути, все, что сделает обновление/шаг вперед нетривиальным.

(и да, упоминание «один балл о» включает 1.0.0, 1.0.1 и так далее)

person Jonathan Allard    schedule 17.01.2017
comment
таким образом, ~>0.1 потенциально поднимет вас до 0.9.99, а ~>1.0 потенциально поднимет вас до 9.99.99? - person mbigras; 17.01.2017
comment
~> 0.1 соответствует 0.9.99, да. ~> 1.0 соответствует 1.9.99, но не чему-то большему, чем 2.0, следовательно, не 9.9.x. Если MAJOR может измениться, то я думаю, что у вас нет спецификации версии ;o) - person Jonathan Allard; 17.01.2017