Где псевдо версия с несуществующим тегом - PullRequest
0 голосов
/ 01 октября 2019

При импорте зависимости стиля GOPATH из модуля с поддержкой go.mod я получаю загадочную псевдо-версию.

$ cd $(mktemp -d)
$ go mod init github.com/foo/test
go: creating new go.mod: module github.com/foo/test
$ go get github.com/bar/api@master
$ cat go.mod 
module github.com/foo/test

go 1.12

require (
    github.com/bar/api v3.9.1-0.20190923092516-169848dd8137+incompatible // indirect
)
$ 

В репо github.com/bar/api определен только тег v3.9.0,Ветвь master на несколько коммитов впереди.

Кто-нибудь знает, откуда берется тег v3.9.1? Этот тег не существует. Идентификатор фиксации 169848dd8137 указывает на HEAD из master, но он не помечен. Это просто go mod просто быть умным и говорить "эй", коммиты после тега v3.9.0 подразумевают некоторую версию v3.9.1?

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Это ожидаемое поведение. Вот информация по ссылке, упомянутой выше -

vX.Y. (Z + 1) -0.yyyymmddhhmmss-abcdefabcdef используется, когда самая последняя версионная фиксация перед целевой фиксацией - vX.YZ

0 голосов
/ 01 октября 2019

Это «псевдо-версия», объясненная здесь:

https://tip.golang.org/cmd/go/#hdr-Pseudo_versions

Короче говоря, поскольку вы выбрали @master, он создает эту версию с отметкой времени и хешемпоследний коммит на ветке master. Номер версии генерируется из последней версии тега +1.

...