Версионирование и наборы изменений

Версионирование

Версия модуля, например, m3-core будет состоять из 4-х разрядов. Например, 2.0.5.8.

  • Последний четвертый разряд (8) будет инкрементироваться, когда архив будет выкладываться на pypi. Это является билдом (build) и может выкладываться несколько раз за день. Вполне ожидаемо, что внутри пакета могут присутствовать нестабильные изменения;
  • Третий разряд (5) будет инкрементироваться, когда список изменений будет значительным, например 7-10 билдов, но ориентировочно не реже раза в месяц, чтобы не затягивать выпуск списков изменений. Это является релизом (release), то есть стабильной версией библиотеки;
  • Второй разряд (0) должен инкрементироваться для значимых изменений с обратной совместимостью;
  • Первый разряд (2) должен инкрементироваться для очень значимых изменений, с обратной совместимостью или без.

Списки изменений (changelog's)

Списки изменений должны формироваться на изменения первого, второго и третьего разряда. То есть переодическая инкрементация четвертого разряда не будет являться сигналом для формирования чейндж логов.

Модули, которые подлежат такой схеме версионности, должны быть внедрены. Иными словами если ведется разработка модуля и он пока не внедрен нигде, необходимости формировать списки изменений нет. В таком случае достаточно поддерживать документацию.

Списки изменений должны выкладываться в отдельный файл с названием changelog. В проектах в файле REQUIREMENTS существует несколько способов фиксирования версии модуля:

  1. Можно фиксировать полную версию, например, m3==2.0.5.10
  2. Можно не фиксировать четвертый разряд, например, m3==2.0.5 - на эту версию доступен чейнджлог, обновления на 2.0.5.1 и так далее не будет.
  3. Можно сделать ограничение, например, m3<=2.0.6, тогда все обновления четвертого разряда будут использоваться.

Под hotfix’ами следует понимать быстрые изменения в релизах, если что-то работает не так или не работает вовсе в следствии, например, незамеченной ошибки.

На рабочих проектах предполагается использовать релизы. Если есть желание получить последние версии и использовать билд, в таком случае первично рекомендуется обращаться с вопросами о подводных камнях к рабочей группе m3.

Contents © 2014 БАРС Груп - Powered by Nikola