@@ -35,8 +35,6 @@ @implementation PBGitSidebarController
3535@synthesize remotes;
3636@synthesize sourceView;
3737@synthesize sourceListControlsView;
38- @synthesize historyViewController;
39- @synthesize commitViewController;
4038
4139- (id )initWithRepository : (PBGitRepository *)theRepository superController : (PBGitWindowController *)controller
4240{
@@ -53,9 +51,6 @@ - (void)awakeFromNib
5351 window.contentView = self.view ;
5452 [self populateList ];
5553
56- historyViewController = [[PBGitHistoryController alloc ] initWithRepository: repository superController: superController];
57- commitViewController = [[PBGitCommitController alloc ] initWithRepository: repository superController: superController];
58-
5954 [repository addObserver: self forKeyPath: @" currentBranch" options: 0 context: @" currentBranchChange" ];
6055 [repository addObserver: self forKeyPath: @" branches" options: (NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew) context: @" branchesModified" ];
6156 [repository addObserver: self forKeyPath: @" stashes" options: 0 context: @" stashesModified" ];
@@ -83,9 +78,6 @@ - (void)dealloc
8378
8479- (void )closeView
8580{
86- [historyViewController closeView ];
87- [commitViewController closeView ];
88-
8981 [repository removeObserver: self forKeyPath: @" currentBranch" ];
9082 [repository removeObserver: self forKeyPath: @" branches" ];
9183 [repository removeObserver: self forKeyPath: @" stashes" ];
@@ -215,11 +207,6 @@ - (void) removeRevSpec:(PBGitRevSpecifier *)rev
215207 [sourceView reloadData ];
216208}
217209
218- - (void )setHistorySearch : (NSString *)searchString mode : (PBHistorySearchMode)mode
219- {
220- [historyViewController.searchController setHistorySearch: searchString mode: mode];
221- }
222-
223210- (void ) openSubmoduleFromMenuItem : (NSMenuItem *)menuItem
224211{
225212 [self openSubmoduleAtURL: [menuItem representedObject ]];
@@ -244,12 +231,12 @@ - (void)outlineViewSelectionDidChange:(NSNotification *)notification
244231 if ([item revSpecifier ]) {
245232 if (![repository.currentBranch isEqual: [item revSpecifier ]])
246233 repository.currentBranch = [item revSpecifier ];
247- [superController changeContentController: historyViewController];
234+ [superController changeContentController: superController. historyViewController];
248235 [PBGitDefaults setShowStageView: NO ];
249236 }
250237
251238 if (item == stage) {
252- [superController changeContentController: commitViewController];
239+ [superController changeContentController: superController. commitViewController];
253240 [PBGitDefaults setShowStageView: YES ];
254241 }
255242
@@ -258,12 +245,22 @@ - (void)outlineViewSelectionDidChange:(NSNotification *)notification
258245}
259246
260247- (void )doubleClicked : (id )object {
261- NSInteger rowNumber = [sourceView selectedRow ];
262- if ([[sourceView itemAtRow: rowNumber] isKindOfClass: [PBGitSVSubmoduleItem class ]]) {
263- PBGitSVSubmoduleItem *subModule = [sourceView itemAtRow: rowNumber];
264-
265- [self openSubmoduleAtURL: [subModule path ]];
266- }
248+ NSInteger rowNumber = [sourceView selectedRow ];
249+
250+ id item = [sourceView itemAtRow: rowNumber];
251+ if ([item isKindOfClass: [PBGitSVSubmoduleItem class ]]) {
252+ PBGitSVSubmoduleItem *subModule = item;
253+
254+ [self openSubmoduleAtURL: [subModule path ]];
255+ } else if ([item isKindOfClass: [PBGitSVBranchItem class ]]) {
256+ PBGitSVBranchItem *branch = item;
257+
258+ NSError *error = nil ;
259+ BOOL success = [repository checkoutRefish: [branch ref ] error: &error];
260+ if (!success) {
261+ [self .windowController showErrorSheet: error];
262+ }
263+ }
267264}
268265
269266- (BOOL )outlineView : (NSOutlineView *)outlineView shouldEditTableColumn : (NSTableColumn *)tableColumn item : (id )item
@@ -392,7 +389,7 @@ - (void) addMenuItemsForRef:(PBGitRef *)ref toMenu:(NSMenu *)menu
392389 if (!ref)
393390 return ;
394391
395- for (NSMenuItem *menuItem in [historyViewController.refController menuItemsForRef: ref])
392+ for (NSMenuItem *menuItem in [superController. historyViewController.refController menuItemsForRef: ref])
396393 [menu addItem: menuItem];
397394}
398395
0 commit comments