cmd/go/internal/vgo: vendor testdata from parent directories of copied packages

We should keep all the testdata directories in parent directories
of copied packages. And we should also avoid re-copying directories
already copied.

If the package being vendored is a/b/c, try to copy a/b/c/testdata,
a/b/testdata and a/testdata to vendor directory, up to the module
root.

Fixes golang/go#23997

Change-Id: If3a2ab9e4bcce80acc978caf569a4aa33219fd62
Reviewed-on: https://go-review.googlesource.com/116575
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
15 files changed
tree: 854ed9bd5713f62f9e028b665ede15ceb00ccb1c
  1. AUTHORS
  2. CONTRIBUTING.md
  3. CONTRIBUTORS
  4. LICENSE
  5. PATENTS
  6. README.md
  7. codereview.cfg
  8. main.go
  9. vendor/
README.md

Versioned Go Prototype (vgo)

This repository holds a prototype of what the go command might look like with integrated support for package versioning.

See research.swtch.com/vgo for documents about the design.

Download/Install

Use go get -u golang.org/x/vgo.

You can also manually git clone the repository to $GOPATH/src/golang.org/x/vgo.

Report Issues / Send Patches

See CONTRIBUTING.md.

This is still a very early prototype. You are likely to run into bugs. Please file bugs in the main Go issue tracker, golang.org/issue, and put the prefix x/vgo: in the issue title.

Thank you.