2021/11/21

[golang] go.mod の pseudo-version の調べ方がわからん

わからんのだ。。。

 

golang で go.mod を作って require にて自分の GitHub リポジトリにあるコードを使う場合、 pseudo-version を書くのだろうと思っている。

https://golang.org/ref/mod#pseudo-versions

フォーマットはこんな感じ。

v0.0.0-<YYYYMMDDhhmmss>-<commit-id>

私が書くときはこういう順番でやっている。

  1. GitHub などで使いたい commit-id を調べる
  2. “YYYYMMDDhhmmss”のところは適当な日時にしておく
  3. “commit-id”のところに調べたcommit-idを書く
  4. go mod tidy
  5. commit-id の桁が長すぎると怒られるので、エラーメッセージに出力された文字列に置き換える
  6. go mod tidy
  7. タイムスタンプが違うといわれるので、エラーメッセージに出力された文字列に置き換える

commit-id は先頭から12文字分とってくればよいので、まだなんとかなると思うのだがタイムスタンプが分からんのだ。
コミットした日時をUTC変換すれば良いのだけど、GitHub だと秒数が出てこない。
clone してくればよいのだけど、めんどくさい。clone するくらいだったら↑でやってしまえばいいや、ということで今に至っているのであった。

go mod edit だとうまいことやってくれないかと期待したのだが、-require は少なくとも書いたとおりに go.mod に書くだけだった。
んー、大した作業ではないのだけど、なんかきれいにできないものか。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。