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