Monthly Downloads: 297
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags: Development    
Latest version: v1.3.1

gitrev alternatives and similar packages

Based on the "Development" category.
Alternatively, view gitrev alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of gitrev or a related project?

Add another 'Development' Package


Build Status

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 GitRev module is due to the various places the current git hash might be stored:

  1. Detached HEAD: the hash is in .git/HEAD
  2. On a branch or tag: the hash is in a file pointed to by .git/HEAD in a location like .git/refs/heads
  3. On a branch or tag but in a repository with packed refs: the hash is in .git/packed-refs
  4. In any of the above situations, if the current repo is checked out as a submodule, follow the reference to its .git directory first

These files are added as dependencies to modules that use GitRev, and so the module should be rebuilt automatically whenever these files change.

If you run into further scenarios that cause problems, let me know!