这风险投资捆绑是一个简洁的小包,可以提取有关 git 存储库的信息,以便轻松插入到 LaTeX 文档中。它当前不提取有关当前提交是否已标记以及标记名称是什么的信息。我将如何编辑vc
脚本来做到这一点?
然后我将如何编辑vc-git.awk
脚本以向生成的 vc.tex 文件添加额外的行?想必我想要一条看起来像这样的行:
print "\\gdef\\GITTag{" Tag "}%"
但我需要更早的一行来告诉 awk 是什么" Tag "
意思?
这不是关于 LaTeX 的问题,而是关于 git、awk 和 bash 的问题......
答案1
git log --decorate -1 [commit]
如果commit
(HEAD
如果省略)有标签,则提交哈希后面将跟着(tag: name)
(也可能有多个其他符号引用)。你可以更具体地选择这个
git log --pretty=%d
答案2
您可以通过以下方式获取提交标记指向的内容:
git show -s 'TAG_NAME^{commit}' --format='%H'
不幸的是,我担心检查是否提交的唯一方法是标记它以检查所有标签。
答案3
您可以使用 来从提交中获取标签名称name-rev
。
git name-rev <commit> --tags
一个例子:
$ git name-rev fcfeabe --tags
fcfeabe tags/v2.36-beta2
因此,只获取标签:
git name-rev fcfeabe --tags | awk '{sub("tags/", ""); print $2}'