我如何让 git 给我一个可接受的 Atom pkgver,我可以用它来检查它?

我如何让 git 给我一个可接受的 Atom pkgver,我可以用它来检查它?

我正在AUR中开发atom-editor-git PKGBUILD,希望将其变成与gvim-git PKGBUILD等效的Atom。请参阅 gvim-git PKGBUILD 每当运行到最新版本的 gVim 时都会更新其软件包版本,例如,如果我现在运行它,它将为 gVim 7.4.1236 构建一个软件包。然而,atom-editor-git PKGBUILD 会返回Atom 最新版本的1.4.0.r653.g41029f6包版本。 1.4.2gvim-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'git describe --tags | sed 's/^v//;s/-/./g'Atom git 存储库给出:

1.4.0.653.g41029f6

这不是我想要的格式(1.4.2),所以我怀疑我需要让atom-editor-git打包最新版本的Atom是函数中的替代git行pkgver(),这就是我在这里的目的。需要明确的是,我想准确地pkgver()给出1.4.2当前版本,而不是7 字符提交短描述符 v1.4.2v1.4.2-1-<COMMIT>在哪里。<COMMIT>

答案1

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

相关内容