erlang-guidelines/versioning.md
2016-01-22 12:21:02 +03:00

1.6 KiB
Raw Blame History

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

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

Общее описание

Предлагается использовать схему RELEASE_VERSION~BRANCH_NAME.PATCH_NUMBER, где RELEASE_VERSION - номер релиза, PATCH_NUMBER - количество коммитов с момента последнего тега, BRANCH_NAME - название ветви.

На практикте же удобнее использовать расширенный вид: RELEASE_VERSION[~BRANCH_NAME].PATCH_NUMBER~COMMIT_HASH, где COMMIT_HASH - сокращенный хеш последнего коммита в ветку, а BRANCH_NAME для удобства сортировки используется только в случае релизов собраных с нерелизных веток.

Примеры

42.0~a47a35 Релиз собранный с ветви rel/42 сразу после ее создания
42.3~b33y67 Релиз собранный с ветви rel/42 после трех багфиксов
42~master.3~gh4g74 Релиз собранный с ветви master после мерджа с rel/42