- gitChanges :: String -> IO String
- gitChangesAll :: IO String
- gitChangesSince :: IO String
Documentation
gitChanges :: String -> IO StringSource
Ask Git for changes in general; we accept an options argument which
will be passed onto Git, so you can customize by using any of the many
options to log
which Git understands.
Tricky bits: we can't pass Git "", because it won't treat it as non-existent,
so the implementation needs to reflect this.
gitChangesAll :: IO StringSource
Nothing fancy: just get the entire repository history.
gitChangesSince :: IO StringSource
Ask Git for all changes, since the last tag. Conscientious folks
tag at every release, so this is a good heuristic.
Tricky bits: run
returns the name of the last tag with '\n' included,
so we use init
to drop the last character and remove '\n'.
Then, we ask git log 'tag-name..', which is its syntax for all commits
since a particular tag. In this case, our tag-name is the last tag, so we're good.