diff options
| author | Andrew Gerrand <adg@golang.org> | 2014-12-10 13:05:37 +1100 |
|---|---|---|
| committer | Andrew Gerrand <adg@golang.org> | 2014-12-10 02:08:38 +0000 |
| commit | 508a22d5bcec2508779fbc4e3e4c745ffe8ea961 (patch) | |
| tree | be2567eaa67629ba7470b2dc4888f4e493e7077b /misc/makerelease | |
| parent | 38ecd2e267ff90874d532b9ee6ca3a21bf9219bc (diff) | |
| download | go-508a22d5bcec2508779fbc4e3e4c745ffe8ea961.tar.xz | |
misc/makerelease: use new storage api, handle git sub-repos
Change-Id: I8c5b77d861aafdc594714982503da7bee053c9fe
Reviewed-on: https://go-review.googlesource.com/1291
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'misc/makerelease')
| -rw-r--r-- | misc/makerelease/makerelease.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/misc/makerelease/makerelease.go b/misc/makerelease/makerelease.go index 8cf6be2a43..43b1f3d115 100644 --- a/misc/makerelease/makerelease.go +++ b/misc/makerelease/makerelease.go @@ -14,6 +14,7 @@ import ( "compress/gzip" "crypto/sha1" "encoding/json" + "errors" "flag" "fmt" "io" @@ -30,7 +31,7 @@ import ( "strings" "code.google.com/p/goauth2/oauth" - storage "code.google.com/p/google-api-go-client/storage/v1beta2" + storage "code.google.com/p/google-api-go-client/storage/v1" ) var ( @@ -512,8 +513,15 @@ func (b *Build) get(repoPath, revision string) error { } // Update the repo to the specified revision. - p := filepath.Join(b.gopath, "src", filepath.FromSlash(repoPath)) - _, err = b.run(p, "hg", "update", revision) + dest := filepath.Join(b.gopath, "src", filepath.FromSlash(repoPath)) + switch { + case exists(filepath.Join(dest, ".git")): + _, err = b.run(dest, "git", "checkout", revision) + case exists(filepath.Join(dest, ".hg")): + _, err = b.run(dest, "hg", "update", revision) + default: + err = errors.New("unknown version control system") + } return err } |
