我想获取存储库中标签总数的数字
grgit存储库已经解决了该问题。
git = org.ajoberstar.grgit.Grgit.open()
git.tag.list().size()
但是它很时髦,我想要它的gradle版本。
git describe --tags $(git rev-list --tags --count)
上面的代码给出了提交的总数
到目前为止,我有以下代码段可以获取提交的总数。
versionCode = { ->
try {
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-list', '--first-parent', '--count', 'HEAD'
standardOutput = stdout
}
return Integer.parseInt(stdout.toString().trim())
}
catch (ignored) {
return -1
}
}
我引用了this SO question,但没有正确的答案
答案 0 :(得分:1)
如果您不介意使用git以外的命令... git tag | wc -l
答案 1 :(得分:0)
我通过以下解决方案解决了这个问题。 @EncryptedWatermelon答案帮助我获得了此解决方案。但是,我比这更愿意寻求更好的解决方案。
getVersionCode = {
def proc = 'git tag'.execute() | 'wc -l'.execute()
proc.waitFor()
return proc.text
}
@EncryptedWatermelon感谢您的提示。