This CL is based on the work and discussion in CL 24969 and CL 32392. It simplifies the code further and makes trybots pass on Windows. Also update the documentation and implementation of the subpackages function slightly to make it more clear what it's doing. Background CL 24943 has made progress on fixing rename.Move behavior on Windows, but hadn't re-enabled TestMoves at the time. CL 24969 attempted to do so, but the tests weren't passing and it didn't get merged at the time. Since that time, CL 65672 has fixed a bug in the subpackages function. As a result, it's possible to simplify code in Move now. The subpackages function returns a set of packages in the given srcDir whose import path equals to root or has "root/" as the prefix. After CL 65672, it correctly filters out ones that are not true sub-packages of root. That's why it's not necessary to try to append a trailing separator when doing the string replacement in Move now. Given subpackages reports their import paths (always '/'-separated), not filesystem paths, it's not necessary to use filepath.ToSlash either. Updates golang/go#16384 Change-Id: Ia808fbaaeffe44ea1e51d7cc3ed9499bc2b438cf Reviewed-on: https://go-review.googlesource.com/c/161777 Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Michael Matloob <matloob@golang.org> |
||
|---|---|---|
| benchmark/parse | ||
| blog | ||
| cmd | ||
| container/intsets | ||
| cover | ||
| go | ||
| godoc | ||
| imports | ||
| internal | ||
| playground | ||
| present | ||
| refactor | ||
| third_party | ||
| .gitattributes | ||
| .gitignore | ||
| AUTHORS | ||
| CONTRIBUTING.md | ||
| CONTRIBUTORS | ||
| LICENSE | ||
| PATENTS | ||
| README.md | ||
| codereview.cfg | ||
README.md
Go Tools
This subrepository holds the source for various packages and tools that support the Go programming language.
Some of the tools, godoc and vet for example, are included in binary Go
distributions.
Others, including the Go guru and the test coverage tool, can be fetched with
go get.
Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs.
Download/Install
The easiest way to install is to run go get -u golang.org/x/tools/.... You can
also manually git clone the repository to $GOPATH/src/golang.org/x/tools.
Report Issues / Send Patches
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the tools repository is located at https://github.com/golang/go/issues. Prefix your issue with "x/tools/(your subdir):" in the subject line, so it is easy to find.