使用 git 和 Doxygen FILE_VERSION_FILTER
Using git with Doxygen FILE_VERSION_FILTER
对于 doxygen FILE_VERSION_FILTER
,git 会使用什么命令?输出最好是该文件在回购中被修改的次数。
I was looking more for a git command that accepts a file name and outputs how many times that file has been included in a commit.
对于文件,您可以使用“List all commits for a specific file”中的 git log
命令之一:
git log --follow --name-only --format='%H' -- afile | wc
“How to get the git commit count?”(git rev-list HEAD --count
) 中的另一个选项将应用于所有存储库,而不是单个文件。
它是在 commit f69c501, Git 1.7.2-rc1, Jun 2010 中引入的。
结合 -- afile
,它也可以工作。请注意,该选项仅在 commit 75d2e5a, Git 2.4.7.
中正式记录
所有回购的原始答案:
在Git中,常用的命令是git-describe
.
或者:
git describe --long --all --abbrev=7
或者(如果您至少放置了一个标签)
git describe --long --tags --abbrev=7
参见“Deriving application build version from git describe
- how to get a relatively straightforward string?”。
git revlist --count
接受 --
之后的路径列表(我不知道这是最近的功能还是一直存在)。
由于 doxygen 需要使用 popen()
调用单个命令,我使用的是这样的小脚本:
#!/bin/sh
echo -n "File version: "
git -C <path_to_git_directory> rev-list HEAD --count --
-C
如果 doxygen 未在 git 目录中执行并且需要最新的 git 版本,则需要 -C
。
这是一个老问题,但由于我发现它在寻找相同的问题,所以这是我的解决方案:
FILE_VERSION_FILTER = "git log --format='%H' -1"
它实际上只会为每个文件获取 git 修订版,这似乎是 FILE_VERSION_FILTER
的预期用途。如果愿意,您可以通过将格式从 '%H'
更改为 '%h'
.
来使用缩写修订版
对于 doxygen FILE_VERSION_FILTER
,git 会使用什么命令?输出最好是该文件在回购中被修改的次数。
I was looking more for a git command that accepts a file name and outputs how many times that file has been included in a commit.
对于文件,您可以使用“List all commits for a specific file”中的 git log
命令之一:
git log --follow --name-only --format='%H' -- afile | wc
“How to get the git commit count?”(git rev-list HEAD --count
) 中的另一个选项将应用于所有存储库,而不是单个文件。
它是在 commit f69c501, Git 1.7.2-rc1, Jun 2010 中引入的。
结合 -- afile
,它也可以工作。请注意,该选项仅在 commit 75d2e5a, Git 2.4.7.
所有回购的原始答案:
在Git中,常用的命令是git-describe
.
或者:
git describe --long --all --abbrev=7
或者(如果您至少放置了一个标签)
git describe --long --tags --abbrev=7
参见“Deriving application build version from git describe
- how to get a relatively straightforward string?”。
git revlist --count
接受 --
之后的路径列表(我不知道这是最近的功能还是一直存在)。
由于 doxygen 需要使用 popen()
调用单个命令,我使用的是这样的小脚本:
#!/bin/sh
echo -n "File version: "
git -C <path_to_git_directory> rev-list HEAD --count --
-C
如果 doxygen 未在 git 目录中执行并且需要最新的 git 版本,则需要 -C
。
这是一个老问题,但由于我发现它在寻找相同的问题,所以这是我的解决方案:
FILE_VERSION_FILTER = "git log --format='%H' -1"
它实际上只会为每个文件获取 git 修订版,这似乎是 FILE_VERSION_FILTER
的预期用途。如果愿意,您可以通过将格式从 '%H'
更改为 '%h'
.