web-dev-qa-db-ja.com

Atomをチェックアウトするために使用できる、許容可能なpkgverをgitに取得するにはどうすればよいですか?

私はAURでatom-editor-gitPKGBUILDに取り組んでおり、それをAtomはgvim-gitPKGBUILDと同等です。gvim-gitPKGBUILDがパッケージバージョンを更新するたびに更新することを望んでいます。 gVimの最新リリースで実行されます。たとえば、今すぐ実行すると、gVim 7.4.1236のパッケージがビルドされます。ただし、atom-editor-git PKGBUILDは、パッケージバージョン_1.4.0.r653.g41029f6_を返します。 _1.4.2_がAtomの最新リリースの場合、gvim-gitはこのpkgver()関数を使用します。

_pkgver() {
 cd $_pkgname
 git describe --tags | sed 's/^v//;s/-/./g'
}
_

一方、atom-editor-gitは以下を使用します。

_pkgver() {
  cd "$srcdir/atom"

  git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//'
}
_

明らかな解決策は、atom-editor-git PKGBUILDでgit describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//'を_git describe --tags | sed 's/^v//;s/-/./g'_に置き換えることですが、 Atom gitリポジトリ で_git describe --tags | sed 's/^v//;s/-/./g'_を実行すると次のようになります。

_1.4.0.653.g41029f6
_

これは私が望む形式(_1.4.2_)ではないので、Atomの最新リリースをパッケージ化するためにatom-editor-gitを取得する必要があるのは代替gitであると思われますpkgver()関数の行であり、それが私がここにいる目的です。明確にするために、pkgver()が_1.4.2_を、_v1.4.2_または_v1.4.2-1-<COMMIT>_ここで、_<COMMIT>_は7文字のコミットの短い記述子です。

1
BH2017

Atomは安定したリリースビルドにstableブランチを使用するため、リリースの最新のタグを見つけるには、そのブランチを確認する必要があります。

$ git describe --tags stable
v1.4.2-1-ge9db64c

対応するタグを取得するには、すべてを最初の-まで保持します。

$ git describe --tags stable | cut -d- -f1
v1.4.2

先頭にvがないバージョンを取得するには、それを取り除きます。

$ git describe --tags stable | cut -d- -f1 | sed 's/^v//'
1.4.2
3
Stephen Kitt