1
0
mirror of https://github.com/golang/go synced 2024-11-18 07:04:52 -07:00
go/refactor
Dmitri Shuralyov 49fb246514 refactor/rename: re-enable TestMoves on Windows
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>
2019-02-12 21:30:38 +00:00
..
eg all: fix typos in comments 2018-08-10 18:15:57 +00:00
importgraph refactor/importgraph: document that graphs are cyclic 2016-03-03 22:47:59 +00:00
rename refactor/rename: re-enable TestMoves on Windows 2019-02-12 21:30:38 +00:00
satisfy refactor/...: remove go1.8-tagged files 2016-11-04 21:29:48 +00:00
README go.tools: use golang.org/x/... import paths 2014-11-10 08:50:40 +11:00

golang.org/x/tools/refactor: libraries for refactoring tools.