Use libgit to check for valid references.
Use Objective-Git to check for ref existence.
Query Objective-Git for remotes.
Remove unused method returnValueForCommand:
Break retain cycle from PBGitWindowController to PBViewController subclasses.
Made outlets to subviews weak.
Break retain cycles by making all outlets weak except for ones that refer top level elements.
Update outlets for OpenRecentController to weak.
Made more outlets for subviews weak.
More weak/unsafe_unretained outlets.

That should have been all retain cycles now. Finally the git repository gets deallocated after the window is closed.
made git history grapher delegate weak.
nil out currentRevList in cleanup so the observer will not be removed a second time.
Fix leak by freeing looked-up tag
Merge branch 'refs/heads/use_libgit'
Merge branch 'refs/heads/memory'