Situation
We have a git workflow, where all release versions are stacked on the master
branch, and when a commit is ready for deployment, we add a tag to it, then use git archive
to build a bundle to be deployed.
We use a version.txt
file, marked in .gitattributes
with the option export-subst
, to keep track of which commit was used to build a given archive.
Question
If I write $Format:%d$
in version.txt
, and export a tagged commit, I will have something like (HEAD, tag, master)
written in the resulting file.
How can I have the tag
alone ?
[edit] There is a git command which already produces that :
git describe --tags HEAD
This will output :
latest_tag #if HEAD is tagged
latest_tag-5-g03cc91b #if HEAD is not tagged,
#and the latest tag is 5 commits ago on commit g03cc91b
Is there some way to have a slug replaced with this output in version.txt
?
git help log
under the--pretty-format
section. There is not one for a tag name (and indeed, what would it do if the commit in question was not referenced by a tag?).v1.0.1
and automatically inserting the right version in source files for projects that require that metadata.