@@ -32,15 +32,7 @@
32-- > % cabal exec runhaskell Example.hs
32-- > % cabal exec runhaskell Example.hs
33-- > Example.hs: [panic master@2ae047ba5e4a6f0f3e705a43615363ac006099c1 (Mon Jan 11 11:50:59 2016 -0800) (14 commits in HEAD) (uncommitted files present)] oh no!
33-- > Example.hs: [panic master@2ae047ba5e4a6f0f3e705a43615363ac006099c1 (Mon Jan 11 11:50:59 2016 -0800) (14 commits in HEAD) (uncommitted files present)] oh no!
35−module Development.GitRev
35+module Development.GitRev (gitHash, gitBranch, gitDirty, gitDirtyTracked, gitCommitCount, gitCommitDate) where
45import Control.Exception
37import Control.Exception
46import Control.Monad
38import Control.Monad
@@ -66,7 +58,7 @@ runGit args def useIdx = do
66 if gitFound
58 if gitFound
68 -- a lot of bookkeeping to record the right dependencies
60 -- a lot of bookkeeping to record the right dependencies
69− pwd <- runIO getDotGit
61+ pwd <- runIO getGitDirectory
70 let hd = pwd </> ".git" </> "HEAD"
62 let hd = pwd </> ".git" </> "HEAD"
71 index = pwd </> ".git" </> "index"
63 index = pwd </> ".git" </> "index"
72 packedRefs = pwd </> ".git" </> "packed-refs"
64 packedRefs = pwd </> ".git" </> "packed-refs"
@@ -121,7 +113,7 @@ getDotGit = do
121getGitRoot :: IO FilePath
113getGitRoot :: IO FilePath
122getGitRoot = do
114getGitRoot = do
123 pwd <- getCurrentDirectory
115 pwd <- getCurrentDirectory
124− (code, out, _) <-
116+ (code, out, err) <-
125 readProcessWithExitCode "git" ["rev-parse", "--show-toplevel"] ""
117 readProcessWithExitCode "git" ["rev-parse", "--show-toplevel"] ""
126 case code of
118 case code of
127 ExitSuccess -> return $ takeWhile (/= '\n') out
119 ExitSuccess -> return $ takeWhile (/= '\n') out
@@ -145,12 +137,6 @@ gitBranch :: ExpQ
145gitBranch =
137gitBranch =
146 stringE =<< runGit ["rev-parse", "--abbrev-ref", "HEAD"] "UNKNOWN" IdxNotUsed
138 stringE =<< runGit ["rev-parse", "--abbrev-ref", "HEAD"] "UNKNOWN" IdxNotUsed
148−-- | Return the long git description for the current git commit, or
149−-- @UNKNOWN@ if not in a git repository.
152− stringE =<< runGit ["describe", "--long", "--always"] "UNKNOWN" IdxNotUsed
154-- | Return @True@ if there are non-committed files present in the
140-- | Return @True@ if there are non-committed files present in the
155-- repository
141-- repository
156gitDirty :: ExpQ
142gitDirty :: ExpQ