cmd/updatestd: ignore _ directories
This seems like an oversight and it's causing it to update the _asm
submodule in ed25519.
Updates golang/go#36905.
Change-Id: I1f580c2f55028c1012432c704df6ac0133e4f4d6
Reviewed-on: https://go-review.googlesource.com/c/build/+/393674
Trust: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
diff --git a/cmd/updatestd/updatestd.go b/cmd/updatestd/updatestd.go
index 6ed4e80..34a3d1f 100644
--- a/cmd/updatestd/updatestd.go
+++ b/cmd/updatestd/updatestd.go
@@ -97,13 +97,13 @@
log.Println()
// Walk the standard library source tree (GOROOT/src),
- // skipping directories that start with "." and named "testdata" or "vendor",
+ // skipping directories that the Go command ignores (see go help packages)
// and update modules that are found.
err = filepath.Walk(filepath.Join(*goroot, "src"), func(path string, fi os.FileInfo, err error) error {
if err != nil {
return err
}
- if fi.IsDir() && (strings.HasPrefix(fi.Name(), ".") || fi.Name() == "testdata" || fi.Name() == "vendor") {
+ if fi.IsDir() && (strings.HasPrefix(fi.Name(), ".") || strings.HasPrefix(fi.Name(), "_") || fi.Name() == "testdata" || fi.Name() == "vendor") {
return filepath.SkipDir
}
goModFile := fi.Name() == "go.mod" && !fi.IsDir()