mirror of
https://github.com/golang/go.git
synced 2025-05-05 15:43:04 +00:00
cmd/go/internal/load: join incompatible and dirty build specifiers with .
Change "+incompatible+dirty" version to be "+incompatible.dirty" such that it is SemVer spec compatible. Fixes #71971 Change-Id: I714ffb3f1ad88c793656c3652367db34739a2144 Reviewed-on: https://go-review.googlesource.com/c/go/+/652955 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Sam Thanawalla <samthanawalla@google.com> Reviewed-by: Sean Liao <sean@liao.dev> Auto-Submit: Sean Liao <sean@liao.dev> Reviewed-by: Michael Matloob <matloob@golang.org>
This commit is contained in:
parent
e8adc39332
commit
a6e7445457
@ -2585,8 +2585,13 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
|
||||
vers := revInfo.Version
|
||||
if vers != "" {
|
||||
if st.Uncommitted {
|
||||
// SemVer build metadata is dot-separated https://semver.org/#spec-item-10
|
||||
if strings.HasSuffix(vers, "+incompatible") {
|
||||
vers += ".dirty"
|
||||
} else {
|
||||
vers += "+dirty"
|
||||
}
|
||||
}
|
||||
info.Main.Version = vers
|
||||
}
|
||||
}
|
||||
|
@ -108,6 +108,19 @@ go version -m example$GOEXE
|
||||
stdout '\s+mod\s+example\s+v1.0.3-0.20220719150703-2e239bf29c13\s+'
|
||||
rm example$GOEXE
|
||||
|
||||
# Create +incompatible module
|
||||
exec git checkout v1.0.4
|
||||
exec git rm go.mod
|
||||
exec git commit -m 'commit 6'
|
||||
exec git tag v2.0.0
|
||||
exec git checkout HEAD^ go.mod
|
||||
# And make the tree +dirty
|
||||
mv README4 README5
|
||||
go build
|
||||
go version -m example$GOEXE
|
||||
stdout '\s+mod\s+example\s+v2.0.0\+incompatible.dirty\s+'
|
||||
rm example$GOEXE
|
||||
|
||||
-- $WORK/repo/go.mod --
|
||||
module example
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user