Каковы последствия использования несемантического номера версии в composer для packagist?

Я хочу опубликовать форк библиотеки PHP на Packagist.
Однако, поскольку могут быть внесены небольшие изменения, мы хотим использовать официальный номер версии и просто немного изменить его, чтобы добавить свой собственный.

В итоге мы пришли к идее номера версии, подобного этой: v1.1.3-CE.1,
Однако есть проблема: это не семантический. И особенно для композитора / упаковщика везде рекомендуется использовать семантическое управление версиями.
Но, как вы можете видеть, он все еще очень похож на семантический номер версии, но мы неправильно используем тег «pre-release version» (который обычно alpha, beta или похожие).
Вот почему я хотел бы спросить, какой эффект имеют не семантически номера версий, как наши, если мы используем их в composer? Затронуты ли процессы обновления, например?

Если вы действительно отговариваете нас от использования такой конструкции номера версии, мы также можем использовать новую версию (начиная с 0.1) для нашего форка, но мы не очень хотим этого делать.

0

Решение

Если вы раскошелитесь, у вас есть новый пакет. Таким образом, вам требуется новое имя пакета.

Непереименование вашей вилки приведет к проблемам. Прежде всего, вы будете публиковать новые версии с тем же именем пакета параллельно с оригиналом. В случае успеха это приведет к недовольству пользователей, но, скорее всего, оригинальное имя поставщика защищено в Packagist, поэтому вы уже не можете публиковать разветвление под тем же именем, независимо от того, какую версию вы назначаете.

Таким образом, это новое имя пакета, но вы можете начать с любого номера версии. Обратите внимание, что семантическое управление версиями имеет разные правила для серии «0.x», в частности, незначительное обновление может нарушить совместимость. Вот почему Композитор ^ Оператор каретки ведет себя по-разному: ^1.2.3 позволит обновления до 1.99999.99999, но ^0.7.1 останется в диапазоне 0.7.x.

Не перегружайте флаг стабильности чем-то бессмысленным (то есть я не знаю, что означает или должен указывать «CE.1»). Флаги стабильности отлично работают для маркировки предварительных выпусков (альфа указывает, что, вероятно, произойдут несовместимые изменения, изменения, совместимые с бета-индикацией, а RC указывает только исправления), которые не предназначены для общего публичного использования.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]