What command would be used with git for the doxygen FILE_VERSION_FILTER? The output would preferably be the number of times that file as been revised in the repo.
- 1,838
- 2
- 21
- 48
3 Answers
This is an old question, but since I found it looking for the same problem, here's my solution:
FILE_VERSION_FILTER = "git log --format='%H' -1"
It will actually just get the git revision for each file and that seems to be the intended use of FILE_VERSION_FILTER. If you like, you could use abbreviated revisions by changing format from '%H' to '%h'.
- 61
- 1
- 9
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.
For a file, you can use one of the git log commands in "List all commits for a specific file":
git log --follow --name-only --format='%H' -- afile | wc
Another option, in "How to get the git commit count?" (git rev-list HEAD --count) would apply to the all repo, not one single file.
It was introduced in commit f69c501, Git 1.7.2-rc1, Jun 2010.
Combined with a -- afile, it can work too. Note the option was only offically documented in commit 75d2e5a, Git 2.4.7.
Original answer, for a all repo:
In Git, the usual command is git-describe.
Either:
git describe --long --all --abbrev=7
Or (if you have put at least one tag)
git describe --long --tags --abbrev=7
-
Is there a way to make git output the number of times that a specific file has been changed? You didn't fully answer my question. – HSchmale Jun 16 '15 at 22:56
-
Git describe does include the number of times a file has changed (since a beach start, or since the last tag) – VonC Jun 16 '15 at 23:22
-
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. – HSchmale Jun 17 '15 at 00:34
git revlist --count accepts a list of paths after -- (I don't know if this is a recent feature or if it has always been there).
Since doxygen wants a single command to call using popen(), I'm using a small script like this:
#!/bin/sh
echo -n "File version: "
git -C <path_to_git_directory> rev-list HEAD --count -- $1
-C is necessary if doxygen is not executed in the git directory and requires a recent git version.
- 826
- 11
- 21