cmd/go/internal/modfetch: fix go.mod cache bug

The cache was fetching the first go.mod requested
for some version in a given repo and then reusing it
for all versions in that repo.

Change-Id: Iea017306468534fa500947a8ee8f69e36731b86c
Reviewed-on: https://go-review.googlesource.com/119338
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
diff --git a/vendor/cmd/go/internal/modfetch/cache.go b/vendor/cmd/go/internal/modfetch/cache.go
index d140d47..c90602f 100644
--- a/vendor/cmd/go/internal/modfetch/cache.go
+++ b/vendor/cmd/go/internal/modfetch/cache.go
@@ -95,7 +95,7 @@
 		text []byte
 		err  error
 	}
-	c := r.cache.Do("gomod:", func() interface{} {
+	c := r.cache.Do("gomod:"+rev, func() interface{} {
 		r.mu.Lock()
 		defer r.mu.Unlock()
 		text, err := r.r.GoMod(rev)