ESala ESala - 10 months ago 84
Git Question

How to do "go get" on a specific tag of a github repository

I am trying to compile the InfluxDB database (version v0.8.8) using

go get

But this pulls the master branch, and I need the

I have tried to do:
go get
but this fails saying unable to find.

I also tried to do a regular
go get
of the master branch, and then manually checking out the tag using
in order to set the corret version.

The problem using the last approach is that when I try to pull the dependencies with
go get -u -f ./...
it tries to find them in the master branch, and some of them do not exist on the master branch...

TL;DR: perform
go get
on a specific github tag, and pull the correct dependencies.

Answer Source

It is not possible using the go get tool. Instead you need to use a third party go package management tool or create your own forks for the packages that you wish to manage more fine grained.

Spoke to a guy that works at Google and he acknowledged this problem/requirement, he said that vendoring which his team used was bulky and they will probably solve it with the official tools soon.

Read more:

Vendoring in Go

Vendoring has been released from experimental in go 1.6 (after this post was initially written) that makes the process of using specific tags / versions of packages using third party tools easier. go get does still not have the functionality to fetch specific tags or versions.

More about how vendoring works: Understanding and using the vendor folder