forked from haskell-github/github
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathShowCommits.hs
More file actions
21 lines (17 loc) · 776 Bytes
/
ShowCommits.hs
File metadata and controls
21 lines (17 loc) · 776 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module ShowCommits where
import qualified Github.PullRequests as Github
import Data.List
import Data.Maybe
main = do
possiblePullRequestCommits <- Github.pullRequestCommits "thoughtbot" "paperclip" 575
case possiblePullRequestCommits of
(Left error) -> putStrLn $ "Error: " ++ (show error)
(Right commits) -> putStrLn $ intercalate "\n" $ map formatCommit commits
formatCommit commit =
(formatAuthor $ Github.gitCommitAuthor gitCommit) ++ "\n" ++
(maybe "unknown SHA" id $ Github.gitCommitSha gitCommit) ++ "\n" ++
(Github.gitCommitMessage gitCommit)
where gitCommit = Github.commitGitCommit commit
formatAuthor :: Github.GitUser -> String
formatAuthor author =
(Github.gitUserName author) ++ " <" ++ (Github.gitUserEmail author) ++ ">"