Add tag in “export-subst” file
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.
If I write
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 ?
 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
One Solution collect form web for “Add tag in “export-subst” file”
You could use a content filter driver which would on git checkout automatically do the exact change you want.
(From Pro Git book 7.2 Customizing Git – Git Attributes)
You declare in a
.gitattributes file a
smudge script which will do the substitution for a special marker (that you want to be replaced with
git describe --tags HEAD), without touching the other markers to be modified by
Then you call
git archive, which should (not tested) replace the rest.