add Grit::Repo#recent_tag_name for getting the result of `git describe` on a repo
revelation: --abbrev and --long options give me the output i really want
return nil from Repo#recent_tag_name if the given committish is invalid
add annotated tag message parsing
add lightweight tag message parsing
handle the inability to read missing tag messages
parse tagger/tag_date info from annotated tags.  default to commit author/authored_date on lightweight tags
default to commit for missing tag attributes
merge in tag listing fix

Signed-off-by: rick <technoweenie@gmail.com>
raise custom exception when invalid objects found in tree

So we can rescue something more specific than RuntimeError to detect
this situation.

Signed-off-by: rick <technoweenie@gmail.com>
merge fixes from github, add to history
Merge branch 'tag_annotation' into epic
merge in tag_annotations branch, add to history
Update from GitHub.
Fix tests for Git 1.7.
Update to use RakeGem.
Exclude test dir from gem.
Update history.
Grit::Commit#diffs and Grit::Commit.diffs both take a git options hash that is passed to diff --git a/History.txt b/History.txt
index d53b179..0a61ff5 100644
--- a/History.txt
+++ b/History.txt
@@ -3,6 +3,8 @@
     * Add support for parsing annotated tag objects.
     * Add Grit::Repo#recent_tag_name for getting the latest tag name that is
       reachable in a commit.
+    * Grit::Commit#diffs and Grit::Commit.diffs both take a git options hash
+      that is passed to `git diff`.
   * Bug Fixes
     * Add no_quote option for fixing tag listings.
     * Raise custom exceptions on invalid tree objects.
GRIT_REPO constant defaults to current dir