This wasn't used anyway. A good idea would be to create a new
branchcontroller that takes care of all these revs, rather than
letting PBGitRepository take care of that
That's why it's there, after all. This also makes the system
more robust and catches some more errors.
The next thing this enables is to also allow right-clicking
on refs in the commit list.
This should make the GUI more responsive by allowing the diff
to be read in the background. This assumes that
[PBGitCommit details] is threadsafe, so we should keep it that
way.
Previously, we would try to copy the view selector from within
the RepositoryWindow, so we could reuse it and change it if we
need to.
However, that causes problems if you have another window open:
if we try to add an item using the insertItemWithIdentifier:atIndex:
method, the item will be added to _all_ toolbars with the same
identifier, even if those toolbars already have the item!
As I see no easy way to fix that, we completely avoid the issue
by not inserting any objects and just copying the view selector
from view to view.
This changes a bunch of ivars to __weak's, to avoid reference loops.
Furthermore, in PBGitHistoryController, we need to call [webView close],
otherwise some memory will never be freed?