]> Cypherpunks repositories - gostls13.git/commit
cmd/go: exclude vendored packages from ... matches
authorRuss Cox <rsc@golang.org>
Tue, 28 Mar 2017 18:54:10 +0000 (14:54 -0400)
committerRuss Cox <rsc@golang.org>
Wed, 29 Mar 2017 18:51:44 +0000 (18:51 +0000)
commitfa1d54c2edad607866445577fe4949fbe55166e1
tree7b14dcb48b820b1e584312cdb59fbdbbc5f7cbea
parent68da265c8e6b32753fb5788716953bac16b374c0
cmd/go: exclude vendored packages from ... matches

By overwhelming popular demand, exclude vendored packages from ... matches,
by making ... never match the "vendor" element above a vendored package.

go help packages now reads:

    An import path is a pattern if it includes one or more "..." wildcards,
    each of which can match any string, including the empty string and
    strings containing slashes.  Such a pattern expands to all package
    directories found in the GOPATH trees with names matching the
    patterns.

    To make common patterns more convenient, there are two special cases.
    First, /... at the end of the pattern can match an empty string,
    so that net/... matches both net and packages in its subdirectories, like net/http.
    Second, any slash-separted pattern element containing a wildcard never
    participates in a match of the "vendor" element in the path of a vendored
    package, so that ./... does not match packages in subdirectories of
    ./vendor or ./mycode/vendor, but ./vendor/... and ./mycode/vendor/... do.
    Note, however, that a directory named vendor that itself contains code
    is not a vendored package: cmd/vendor would be a command named vendor,
    and the pattern cmd/... matches it.

Fixes #19090.

Change-Id: I985bf9571100da316c19fbfd19bb1e534a3c9e5f
Reviewed-on: https://go-review.googlesource.com/38745
Reviewed-by: Alan Donovan <adonovan@google.com>
src/cmd/go/alldocs.go
src/cmd/go/internal/help/helpdoc.go
src/cmd/go/internal/load/match_test.go
src/cmd/go/internal/load/search.go
src/cmd/go/vendor_test.go