From 47150aafbfaadf1f193b8840df02f388998e83ab Mon Sep 17 00:00:00 2001 From: "Bryan C. Mills" Date: Fri, 19 Apr 2019 10:15:58 -0400 Subject: [PATCH] cmd/go/internal/modfetch: comment on known bug in isVendoredPackage Fixes #31562 Change-Id: Ida30dd8071eccb6b490ab89a1de087038fe26796 Reviewed-on: https://go-review.googlesource.com/c/go/+/172977 Run-TryBot: Bryan C. Mills TryBot-Result: Gobot Gobot Reviewed-by: Jay Conrod --- src/cmd/go/internal/modfetch/coderepo.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/cmd/go/internal/modfetch/coderepo.go b/src/cmd/go/internal/modfetch/coderepo.go index 7aedf1d861..3581f93fe7 100644 --- a/src/cmd/go/internal/modfetch/coderepo.go +++ b/src/cmd/go/internal/modfetch/coderepo.go @@ -634,6 +634,19 @@ func isVendoredPackage(name string) bool { if strings.HasPrefix(name, "vendor/") { i += len("vendor/") } else if j := strings.Index(name, "/vendor/"); j >= 0 { + // This offset looks incorrect; this should probably be + // + // i = j + len("/vendor/") + // + // (See https://golang.org/issue/31562.) + // + // Unfortunately, we can't fix it without invalidating checksums. + // Fortunately, the error appears to be strictly conservative: we'll retain + // vendored packages that we should have pruned, but we won't prune + // non-vendored packages that we should have retained. + // + // Since this defect doesn't seem to break anything, it's not worth fixing + // for now. i += len("/vendor/") } else { return false -- 2.48.1