From c2ea4122965373610f3521f1de689f6955c5da6b Mon Sep 17 00:00:00 2001 From: Andrew Gerrand Date: Fri, 6 Jan 2012 09:20:59 +1100 Subject: [PATCH] goinstall: use correct checkout URL for Google Code svn repos Fixes #2655. R=golang-dev, gri CC=golang-dev https://golang.org/cl/5510045 --- src/cmd/goinstall/download.go | 10 +++++++--- src/cmd/goinstall/download_test.go | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/cmd/goinstall/download.go b/src/cmd/goinstall/download.go index ccce680ce8e..8e6cb4b3738 100644 --- a/src/cmd/goinstall/download.go +++ b/src/cmd/goinstall/download.go @@ -236,9 +236,13 @@ func (r *googleRepo) Repo(client *http.Client) (url, root string, vcs *vcs, err } // Scrape result for vcs details. - m := googleRepoRe.FindSubmatch(b) - if len(m) == 2 { - if v := vcsMap[string(m[1])]; v != nil { + if m := googleRepoRe.FindSubmatch(b); len(m) == 2 { + s := string(m[1]) + if v := vcsMap[s]; v != nil { + if s == "svn" { + // Subversion still uses the old-style URL. + r.url = fmt.Sprintf("http://%s.googlecode.com/svn", p[0]) + } r.vcs = v return r.url, r.root, r.vcs, nil } diff --git a/src/cmd/goinstall/download_test.go b/src/cmd/goinstall/download_test.go index a4455a2ca56..4104f71dd29 100644 --- a/src/cmd/goinstall/download_test.go +++ b/src/cmd/goinstall/download_test.go @@ -31,7 +31,7 @@ var FindPublicRepoTests = []struct { "code.google.com/p/repo/path/foo", "svn", "code.google.com/p/repo", - "https://code.google.com/p/repo", + "https://repo.googlecode.com/svn", &testTransport{ "https://code.google.com/p/repo/source/checkout", `svn checkout https://...`,