суббота, 6 марта 2021 г.

Модули в Golang: системы контроля версий, сопоставление ветвей и коммитов с версиями

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

go get example.com/mod@master

Команда go преобразует эти имена в канонические версии, которые можно использовать с минимальным выбором версии (MVS). MVS зависит от возможности однозначного упорядочения версий. Имена веток и ревизии нельзя надежно сравнивать с течением времени, так как они зависят от структуры репозитория, которая может измениться.

Если ревизия помечена одним или несколькими семантическими тегами версии, такими как v1.2.3, будет использоваться тег для самой высокой допустимой версии. Команда go учитывает только теги семантической версии, которые могут принадлежать целевому модулю; например, тег v1.5.2 не будет рассматриваться для example.com/mod/v2, поскольку основная версия не соответствует суффиксу пути к модулю.

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


Читайте также:


Комментариев нет:

Отправить комментарий