что означает суффикс "+ несовместимый" в Go версиях github? - PullRequest
0 голосов
/ 29 мая 2020

Я рассматриваю возможность обновления go -github с v17.0.0+incompatible до v28

. Я заметил некоторые версии, которые go -github выпущены имеют суффикс +incompatible, специально для категории v1. Что это влечет за собой? Я предполагаю, что версия с +incompatible несовместима с более новой / более старой версией?

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

1 Ответ

0 голосов
/ 29 мая 2020

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

Этот синтаксис указывает, что репозиторий не использует суффикс для своих путей к модулям для не-v0, не- v1 и обходит logi c в коде модуля, который выполняет semanti c import versioning. Документация по этой функции доступна на веб-сайте Go .

Поскольку переход от одной основной версии к другой является критическим изменением в управлении версиями semanti c, вам необходимо вне диапазона определить, совместимы они или нет. Суффикс +incompatible не означает это косвенно, но переход от v17 к v28 делает. Так что журналы изменений могут быть хорошей идеей, или вы можете просто обновить и запустить тесты, если вы уверены в своем тестовом наборе.

...