Начиная с v1.11 Go добавлена поддержка модулей. Команды
go mod init <package name>
go build
будет генерировать go.mod
и go.sum
файлы , которые содержат все версии найдены для зависимостей пакета.
Если у модуля нет выпусков, используется последняя фиксация этого модуля. Если у модуля есть выпуски, в качестве зависимости выбирается последний.
Однако иногда мне может понадобиться функциональность, которой еще нет в опубликованном выпуске, а из коммита, сделанного после этого выпуска. Как настроить go.mod
указание не на выпуск модуля, а на конкретную фиксацию в репозитории модуля?
Похоже, я могу сделать это вручную в go.mod с
module /my/module
require (
...
github.com/someone/some_module v0.0.0-20181121201909-af044c0995fe
...
)
где v0.0.0
не соответствует последнему опубликованному тегу выпуска, 20181121201909
будет ли это отметка времени фиксации и af044c0995fe
будет хеш фиксации? Следует ли такую информацию искать и вводить вручную или есть способ лучше?
/commits
, но не ниже/pulls
. Подробнее см. Здесь: golang / go # 31191 явно отфильтровывает такие коммиты.