Skip to content

Latest commit

 

History

History
20 lines (12 loc) · 3.21 KB

README.ru.md

File metadata and controls

20 lines (12 loc) · 3.21 KB

🌍 Доступные языки: 🇺🇸 English | 🇷🇺 Русский

Утилита создания в репозитории тегов версий исходя из сообщений коммитов

convergit — лат. "сходится", например, "[он/она/оно] сходится [в чём-то или где-то]"

Название является портманто из названий CONVentinal commits, semantic VERsioning и, разумеется, git.

Как можно понять из названия, утилита создаёт теги согласно стандарту семантического версионирования v2.0.0 исходя из сообщений коммитов, которые для этого должны соответствовать стандарту общепринятых коммитов v1.0.0.

Кратко о факторах, вызывающих смену версий:

  • тип коммита fix вызывает возрастание patch-версии (последнее число версии);
  • тип коммита feat вызывает возрастание minor-версии (среднее число версии) и обнуление patch-версии;
  • восклицательный знак после типа коммита перед двоеточием (например, feat!: или fix(etc)!: ) либо же фразы BREAKING-CHANGE: или BREAKING CHANGE: в теле сообщения коммита вызывают возрастание major-версии (первое число версии) и обнуление остальных;
  • Коммиты с любыми другими сообщениями считаются обслуживающими и изменения версии не вызывают.

При изменении любой версии также создаётся или пересоздаётся тег с именем vX на этом же коммите, где X — мажорная версия. Это позволяет ссылаться в клиентских конвейерах на этот тег с уверенностью в сохранении обратной совместимости.

При возрастании мажорной версии (фактически сигнализирующем об изменениях в коммите, ломающих обратную совместимость), также происходит автоматическое создание ветки с именем maint/vX от предыдущего коммита, где X — предыдущая мажорная версия. Если для клиентских конвейеров, которые не адаптированы к следующей мажорной версии, требуется поддержка исправлениями/улучшениями, все сохраняющие обратную совместимость изменения нужно добавлять в эти ветки.