Description
Compile git revision info into Haskell projects.
Description
Please see the README and documentation at https://www.stackage.org/package/githash
README.md
githash
Some handy Template Haskell splices for including the current git hash and branch in the code of your project. Useful for including in panic messages, --version
output, or diagnostic info for more informative bug reports.
Most of the complication in the GitHash
module is due to the various places the current git hash might be stored:
- Detached HEAD: the hash is in
.git/HEAD
- On a branch or tag: the hash is in a file pointed to by
.git/HEAD
in a location like.git/refs/heads
- On a branch or tag but in a repository with packed refs: the hash is in
.git/packed-refs
These situations all arise under normal development workflows, but there might be further scenarios that cause problems. Let me know if you run into them!