A rubygem that allows OO access to git repositories.
grit
in it's own words:
Grit gives you object oriented read/write access to Git repositories via Ruby. The main goals are stability and performance. To this end, some of the interactions with Git repositories are done by shelling out to the system's git command, and other interactions are done with pure Ruby reimplementations of core Git functionality. This choice, however, is transparent to end users, and you need not know which method is being used.
Certain parts of grit rely on the git binary, others are implemented in pure ruby. The distinction between the two is contained here.