x/vgo: fix the timestamp in a pseudo-version
Fixes golang/go#24369
Change-Id: Id1a30020609532bf232dddb574242d786e1c3ead
Reviewed-on: https://go-review.googlesource.com/106799
Reviewed-by: Russ Cox <rsc@golang.org>
diff --git a/vendor/cmd/go/internal/modfile/rule.go b/vendor/cmd/go/internal/modfile/rule.go
index fd0315b..8a69f10 100644
--- a/vendor/cmd/go/internal/modfile/rule.go
+++ b/vendor/cmd/go/internal/modfile/rule.go
@@ -252,16 +252,15 @@
func parseVersion(path string, s *string, fix VersionFixer) (string, error) {
t := *s
- if semver.IsValid(t) {
- *s = semver.Canonical(t)
- return *s, nil
- }
if fix != nil {
- t, err := fix(path, t)
+ var err error
+ t, err = fix(path, t)
if err != nil {
return "", err
}
- *s = t
+ }
+ if semver.IsValid(t) {
+ *s = semver.Canonical(t)
return *s, nil
}
return "", fmt.Errorf("version must be of the form v1.2.3")