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

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

Команда go может проверить модуль в репозитории с определенной версией, закодированной как псевдоверсия, например v1.3.2-0.20191109021931-daa7c04131f5.

Последние 12 символов псевдоверсии (daa7c04131f5 в приведенном выше примере) указывают на ревизию в репозитории, которую нужно извлечь. Смысл этого зависит от системы контроля версий. Для Git и Mercurial это префикс хеша коммита. Для Subversion это номер версии, дополненный нулями.

Перед проверкой коммита команда go проверяет, что метка времени (20191109021931 выше) соответствует дате коммита. Он также проверяет, что базовая версия (v1.3.1, версия до v1.3.2 в приведенном выше примере) соответствует тегу семантической версии, который является предком коммита. Эти проверки гарантируют, что авторы модулей имеют полный контроль над тем, как псевдоверсии сравниваются с другими выпущенными версиями.


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


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

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