gondler icon indicating copy to clipboard operation
gondler copied to clipboard

Modified: Create Gomfile.lock.

Open futoase opened this issue 11 years ago • 4 comments

Create Gomfile.lock

An proposal.

  • Gomfile
gom 'github.com/golang/glog'
gom 'github.com/golang/lint', commit: '1ad6a0eeb85088d8f32e1c5db9965f4a11c0af70'
gom 'github.com/futoase/underground', branch: 'welcome-to-heaven'
gom 'bitbucket.org/matrixik/listdict', tag: 'tip'
gom 'bitbucket.org/llg/gocreate'
  • Gomfile.lock
github.com/golang/glog: commit => c6f9652c7179652e2fd8ed7002330db089f4c9db
github.com/golang/lint: commit => 1ad6a0eeb85088d8f32e1c5db9965f4a11c0af70
github.com/futoase/underground: branch => welcome-to-heaven
bitbucket.org/matrixik/listdict: tag => tip
bitbucket.org/llg/gocreate: commit => 1251907fe3b4ad2cd968ca92db030eb37927f75e

futoase avatar Oct 06 '13 12:10 futoase

Gomfile.lock を生成しているだけで、何かに利用されているように見えないけれど、これは何を解決したいんでしょう?

rosylilly avatar Oct 06 '13 17:10 rosylilly

本当はgoのパッケージでバージョン番号を扱ってもらえれば良いなと思ったのだけど、 今のところそういう決まりがないので(masterブランチばっかりというのとメタ情報をパッケージ側に保存する仕組みがない...) branch指定しなかったらhashをGemfile.lock にでも書きだしたほうがいいかなーと思ったので作ってみました。

bitbucketやgithub.comにあるいろいろなライブラリ見てみたけど、 mercurialだとtipブランチ、github.comだとmasterブランチがある程度で tagですら管理されていないので...

futoase avatar Oct 07 '13 00:10 futoase

go get および go install は自動的に処理系のバージョン名の tag を探して適用する仕組みになっています(go1 など)。

ただ、 tag は変わりうるものなので lock があることは重要だと感じていますが、生成するだけで利用されないのでは問題なので lock も考慮してインストールするようにならないといけないですね。

rosylilly avatar Oct 07 '13 02:10 rosylilly

ライブラリアップデートによってHEAD をgo get しちゃうと ある日ライブラリのAPIが変わったということで動かなくなってしまった時、 commit logを見るのではなく、Gomfile.lock を見ることでcheckout先(hash)が確認できていいかなとおもったんですよね。

ただ、 tag は変わりうるものなので lock があることは重要だと感じていますが、生成するだけで利用されないのでは問題なので lock も考慮してインストールするようにならないといけないですね。

fmfm

futoase avatar Oct 07 '13 03:10 futoase