Reputation: 14983
Is there any syntax for git describe to display only the latest tag and additional commits?
So that you get
4.0.7
for being at the commit tagged 4.0.7
4.0.7-12
for having 12 commits since tag 4.0.7
git describe --tags
is pretty close with 4.0.7-12-g09181
but i haven't found a way to get rid of the hash being appended.
git describe --tags --abbrev=2
still displays 4.0.7-12-g0918
git describe --tags --abbrev=0
displays 4.0.7
only.
Upvotes: 9
Views: 6957
Reputation: 904
I ran into a similar problem where I wanted to generate a string like: "tag-commits" but optionally followed with the -dirty and/or -broken suffix.
1.0-3
1.0-3-dirty
1.0-3-dirty-broken
(Dirty simply indicates that you have uncommitted changes).
The accepted answer would however remove the -dirty (or when used -broken) tag at the end and leave the hash in the output.
To fix this I wrote the following command:
git describe --tags --dirty | sed 's/-g[a-z0-9]\{7\}//'
This works because the hash always starts with a "g" followed by 7 characters.
Upvotes: 5
Reputation: 14983
There is no option in the describe command to do what you want. You could pipe the output to a shell script that removes the hash.
git describe --tags | sed 's/\(.*\)-.*/\1/'
see https://stackoverflow.com/a/32084572/1468708
thx !
Upvotes: 7