-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Compile git revision info into Haskell projects
--   
--   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.
@package gitrev
@version 1.3.1

-- | 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.
--   
--   
--   {-# LANGUAGE TemplateHaskell #-}
--   import Development.GitRev
--   
--   panic :: String -> a
--   panic msg = error panicMsg
--     where panicMsg =
--             concat [ "[panic ", $(gitBranch), "@", $(gitHash)
--                    , " (", $(gitCommitDate), ")"
--                    , " (", $(gitCommitCount), " commits in HEAD)"
--                    , dirty, "] ", msg ]
--           dirty | $(gitDirty) = " (uncommitted files present)"
--                 | otherwise   = ""
--   
--   main = panic "oh no!"
--   
--   
--   
--   % cabal exec runhaskell Example.hs
--   Example.hs: [panic master@2ae047ba5e4a6f0f3e705a43615363ac006099c1 (Mon Jan 11 11:50:59 2016 -0800) (14 commits in HEAD) (uncommitted files present)] oh no!
--   
module Development.GitRev

-- | Return the branch (or tag) name of the current git commit, or
--   UNKNOWN if not in a git repository. For detached heads, this
--   will just be HEAD
gitBranch :: ExpQ

-- | Return the number of commits in the current head
gitCommitCount :: ExpQ

-- | Return the commit date of the current head
gitCommitDate :: ExpQ

-- | Return the long git description for the current git commit, or
--   UNKNOWN if not in a git repository.
gitDescribe :: ExpQ

-- | Return True if there are non-committed files present in the
--   repository
gitDirty :: ExpQ

-- | Return True if there are non-commited changes to tracked
--   files present in the repository
gitDirtyTracked :: ExpQ

-- | Return the hash of the current git commit, or UNKNOWN if not
--   in a git repository
gitHash :: ExpQ
instance GHC.Classes.Eq Development.GitRev.IndexUsed
