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

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

Команда go может проверить модуль в репозитории с определенной канонической версией, например v1.2.3, v2.4.0-beta или v3.0.0+incompatible. Каждая версия модуля должна иметь тег семантической версии в репозитории, который указывает, какая ревизия должна быть проверена для данной версии.

Если модуль определен в корневом каталоге репозитория или в подкаталоге основной версии корневого каталога, то каждое имя тега версии совпадает с соответствующей версией. Например, модуль golang.org/x/text определен в корневом каталоге своего репозитория, поэтому версия v0.3.2 имеет тег v0.3.2 в этом репозитории. Это верно для большинства модулей.

Если модуль определен в подкаталоге в репозитории, то есть часть подкаталога модуля пути модуля не пуста, то каждое имя тега должно начинаться с префикса подкаталога модуля, за которым следует косая черта. Например, модуль golang.org/x/tools/gopls определен в подкаталоге gopls репозитория с корневым путем golang.org/x/tools. Версия v0.4.0 этого модуля должна иметь тег с именем gopls/v0.4.0 в этом репозитории.

Номер основной версии тега семантической версии должен соответствовать суффиксу основной версии пути к модулю (если есть). Например, тег v1.0.0 может принадлежать модулю example.com/mod, но не example.com/mod/v2, который будет иметь такие теги, как v2.0.0.

Тег с основной версией v2 или выше может принадлежать модулю без суффикса основной версии, если файл go.mod отсутствует и модуль находится в корневом каталоге репозитория. Такая версия обозначается суффиксом +incompatible. Сам тег версии не должен иметь суффикса.

После создания тега его нельзя удалять или изменять на другую версию. Версии проходят аутентификацию, чтобы гарантировать безопасную и повторяемую сборку. Если тег изменен, клиенты могут увидеть ошибку безопасности при его загрузке. Даже после удаления тега его содержимое может оставаться доступным на прокси-серверах модуля.


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


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

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