myitcv / gobin

gobin is an experimental, module-aware command to install/run main packages.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support caching of revision identifiers

myitcv opened this issue · comments

Currently (well, once #32 is merged to be precise), gobin foo.com/bar@$revision will be the only form of gobin that always hit the network.

We can do better here by caching the resolution of these revision identifiers.

That way we unify the -u behaviour:

gobin foo.com/bar@master      # hits the network first time we need to resolve master
gobin foo.com/bar@master      # does not hit network
gobin -u foo.com/bar@master   # hits network

cc @rogpeppe

To add a brief note; sufficient VCS information is not available in $GOPATH/pkg/mod/cache/vcs because each directory there is a shallow copy of the remote, hence it does not have any remote reference information.