我正在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.2
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'
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.2
或v1.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