gitrev alternatives and similar packages
Based on the "Development" category.
Alternatively, view gitrev alternatives based on common mentions on social networks and blogs.
-
stgi
A user-centric visual STG implementation to help understand GHC/Haskell's execution model. -
structured-haskell-mode
Structured editing minor mode for Haskell in Emacs -
haskell-lsp
Haskell library for the Microsoft Language Server Protocol -
criterion
A powerful but simple library for measuring the performance of Haskell code. -
cabal-install-parsers
Scripts and instructions for using CI services (e.g. Travis CI or Appveyor) with multiple GHC configurations -
inline-c
Write Haskell source files including C code inline. No FFI required. -
inline-java
Haskell/Java interop via inline Java code in Haskell modules. -
gi-atk
Generate Haskell bindings for GObject-Introspection capable libraries -
lambdabot-core
A friendly IRC bot and apprentice coder, written in Haskell. -
scion
OLD, DEPRECATED: Use this instead https://github.com/haskell/haskell-ide-engine
Static code analysis for 29 languages.
Do you think we are missing an alternative of gitrev or a related project?
Popular Comparisons
README
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:
- 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
- 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!