cmd/go/internal/vgo: allow dotless module paths if replaced

In general a module path's first element should be a domain name,
or else we can't resolve it to find out how to download it.
But if a module is named and has a replace directive giving
a local directory where it can be found, we need not enforce
the leading-dot rule.

This test also serves to test that the go.mod version fixer does
not try to resolve the module path when it's well formed.

Fixes golang/go#24100.

Change-Id: I5cf3b82289db1f29b583f41fcf9f2509c7fc442a
Reviewed-on: https://go-review.googlesource.com/107661
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 files changed
tree: 97aec21947f21c443d10768fcb6bebcf5f973f2a
  1. vendor/
  2. AUTHORS
  3. codereview.cfg
  4. CONTRIBUTING.md
  5. CONTRIBUTORS
  6. LICENSE
  7. main.go
  8. PATENTS
  9. README.md
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.