libgit2/objective-git — pull request #194 by jspahrsummers (2013-06-26 22:39:45+00:00)
Title: Add <NSObject> methods, optimize GTOID, use objc_returns_inner_pointer attribute

This PR includes a few things:

* Optimized `GTOID` to avoid some unnecessary allocations, and added unit tests.
* Added (variously) `-description`, `-isEqual:`, and `-hash` to `GTOID`, `GTReference`, `GTSignature`, `GTSubmodule`, and unit tested them.
* Added `__attribute__((objc_returns_inner_pointer))` for all public access to the underlying libgit2 objects. This ensures that ARC will [keep the parent object alive](http://clang.llvm.org/docs/AutomaticReferenceCounting.html#interior-pointers), instead of assuming that the object is dead after the last direct reference to it.