Only Commit / All Files

This commit is contained in:
glaullon
2010-06-24 15:54:49 -07:00
parent ed8ad4b0de
commit b4f6ba270c
5 changed files with 276 additions and 147 deletions
+3 -1
View File
@@ -22,7 +22,7 @@
@class PBCommitList;
@class PBSourceViewItem;
@interface PBGitHistoryController : PBViewController {
@interface PBGitHistoryController : PBViewController <MGScopeBarDelegate>{
IBOutlet PBRefController *refController;
IBOutlet PBCommitList* commitList;
IBOutlet PBCollapsibleSplitView *historySplitView;
@@ -54,6 +54,8 @@
BOOL forceSelectionUpdate;
NSArray *currentFileBrowserSelectionPath;
IBOutlet MGScopeBar *treeStyle;
NSArray *treeOpts;
PBGitTree *gitTree;
PBGitCommit *webCommit;
PBGitCommit *selectedCommit;
+40 -1
View File
@@ -142,7 +142,13 @@
}
if (self.selectedCommitDetailsIndex == kHistoryTreeViewIndex) {
self.gitTree = selectedCommit.tree;
PBGitTree *pt = selectedCommit.tree;
NSString *show=[[[treeStyle selectedItems] objectAtIndex:0] objectAtIndex:0];
pt.onlyCommit=[show isEqualToString:@"Only Commit"];
self.gitTree=pt;
[self restoreFileBrowserSelection];
}
else // kHistoryDetailViewIndex
@@ -854,5 +860,38 @@ enum {
return YES;
}
#pragma mark <MGScopeBarDelegate>
- (int)numberOfGroupsInScopeBar:(MGScopeBar *)theScopeBar
{
return 1;
}
- (NSArray *)scopeBar:(MGScopeBar *)theScopeBar itemIdentifiersForGroup:(int)groupNumber
{
return [NSArray arrayWithObjects:@"Only Commit",@"All Files",nil];
}
- (NSString *)scopeBar:(MGScopeBar *)theScopeBar labelForGroup:(int)groupNumber
{
return nil;
}
- (MGScopeBarGroupSelectionMode)scopeBar:(MGScopeBar *)theScopeBar selectionModeForGroup:(int)groupNumber
{
return MGRadioSelectionMode;
}
- (NSString *)scopeBar:(MGScopeBar *)theScopeBar titleOfItem:(NSString *)identifier inGroup:(int)groupNumber
{
return identifier;
}
- (void)scopeBar:(MGScopeBar *)theScopeBar selectedStateChanged:(BOOL)selected forItem:(NSString *)identifier inGroup:(int)groupNumber
{
[self updateKeys];
}
@end
+220 -140
View File
@@ -2,10 +2,10 @@
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1050</int>
<string key="IBDocument.SystemVersion">10D573</string>
<string key="IBDocument.SystemVersion">10F569</string>
<string key="IBDocument.InterfaceBuilderVersion">762</string>
<string key="IBDocument.AppKitVersion">1038.29</string>
<string key="IBDocument.HIToolboxVersion">460.00</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
@@ -21,7 +21,7 @@
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="9"/>
<integer value="412"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -913,114 +913,131 @@
<int key="NSvFlags">4370</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSScrollView" id="776605770">
<object class="NSCustomView" id="282860308">
<reference key="NSNextResponder" ref="626906425"/>
<int key="NSvFlags">4372</int>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSClipView" id="859661469">
<reference key="NSNextResponder" ref="776605770"/>
<int key="NSvFlags">2304</int>
<object class="NSCustomView" id="160663570">
<reference key="NSNextResponder" ref="282860308"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{0, 204}, {172, 30}}</string>
<reference key="NSSuperview" ref="282860308"/>
<string key="NSClassName">MGScopeBar</string>
</object>
<object class="NSScrollView" id="776605770">
<reference key="NSNextResponder" ref="282860308"/>
<int key="NSvFlags">4370</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSOutlineView" id="216928480">
<reference key="NSNextResponder" ref="859661469"/>
<int key="NSvFlags">4368</int>
<string key="NSFrameSize">{187, 232}</string>
<reference key="NSSuperview" ref="859661469"/>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{223, 0}, {16, 17}}</string>
</object>
<object class="NSMutableArray" key="NSTableColumns">
<object class="NSClipView" id="859661469">
<reference key="NSNextResponder" ref="776605770"/>
<int key="NSvFlags">2304</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTableColumn" id="728334291">
<double key="NSWidth">184</double>
<double key="NSMinWidth">16</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="26"/>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
<object class="NSOutlineView" id="216928480">
<reference key="NSNextResponder" ref="859661469"/>
<int key="NSvFlags">4368</int>
<string key="NSFrameSize">{154, 202}</string>
<reference key="NSSuperview" ref="859661469"/>
<bool key="NSEnabled">YES</bool>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{223, 0}, {16, 17}}</string>
</object>
<object class="NSMutableArray" key="NSTableColumns">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTableColumn" id="728334291">
<double key="NSWidth">151</double>
<double key="NSMinWidth">16</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="26"/>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
</object>
<reference key="NSTextColor" ref="160578461"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="161807197">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Text Cell</string>
<reference key="NSSupport" ref="924107556"/>
<reference key="NSControlView" ref="216928480"/>
<reference key="NSBackgroundColor" ref="827363147"/>
<reference key="NSTextColor" ref="57062640"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="216928480"/>
</object>
<reference key="NSTextColor" ref="160578461"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="161807197">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Text Cell</string>
<reference key="NSSupport" ref="924107556"/>
<reference key="NSControlView" ref="216928480"/>
<reference key="NSBackgroundColor" ref="827363147"/>
<reference key="NSTextColor" ref="57062640"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="216928480"/>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
<reference key="NSBackgroundColor" ref="965176493"/>
<reference key="NSGridColor" ref="248885916"/>
<double key="NSRowHeight">17</double>
<int key="NSTvFlags">-624951296</int>
<reference key="NSDelegate"/>
<reference key="NSDataSource"/>
<int key="NSColumnAutoresizingStyle">4</int>
<int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">YES</bool>
<int key="NSTableViewDraggingDestinationStyle">0</int>
</object>
</object>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
<reference key="NSBackgroundColor" ref="965176493"/>
<reference key="NSGridColor" ref="248885916"/>
<double key="NSRowHeight">17</double>
<int key="NSTvFlags">-624951296</int>
<reference key="NSDelegate"/>
<reference key="NSDataSource"/>
<int key="NSColumnAutoresizingStyle">4</int>
<int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">YES</bool>
<int key="NSTableViewDraggingDestinationStyle">0</int>
<string key="NSFrame">{{1, 1}, {154, 202}}</string>
<reference key="NSSuperview" ref="776605770"/>
<reference key="NSNextKeyView" ref="216928480"/>
<reference key="NSDocView" ref="216928480"/>
<reference key="NSBGColor" ref="827363147"/>
<int key="NScvFlags">4</int>
</object>
<object class="NSScroller" id="692013536">
<reference key="NSNextResponder" ref="776605770"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{155, 1}, {15, 202}}</string>
<reference key="NSSuperview" ref="776605770"/>
<reference key="NSTarget" ref="776605770"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.99481862783432007</double>
</object>
<object class="NSScroller" id="471196443">
<reference key="NSNextResponder" ref="776605770"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {502, 15}}</string>
<reference key="NSSuperview" ref="776605770"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="776605770"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">0.0045045050792396069</double>
<double key="NSPercent">0.99801188707351685</double>
</object>
</object>
<string key="NSFrame">{{1, 1}, {187, 232}}</string>
<reference key="NSSuperview" ref="776605770"/>
<reference key="NSNextKeyView" ref="216928480"/>
<reference key="NSDocView" ref="216928480"/>
<reference key="NSBGColor" ref="827363147"/>
<int key="NScvFlags">4</int>
</object>
<object class="NSScroller" id="692013536">
<reference key="NSNextResponder" ref="776605770"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{188, 1}, {15, 232}}</string>
<reference key="NSSuperview" ref="776605770"/>
<reference key="NSTarget" ref="776605770"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.99481862783432007</double>
</object>
<object class="NSScroller" id="471196443">
<reference key="NSNextResponder" ref="776605770"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{-100, -100}, {502, 15}}</string>
<reference key="NSSuperview" ref="776605770"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="776605770"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">0.0045045050792396069</double>
<double key="NSPercent">0.99801188707351685</double>
<string key="NSFrameSize">{171, 204}</string>
<reference key="NSSuperview" ref="282860308"/>
<reference key="NSNextKeyView" ref="859661469"/>
<int key="NSsFlags">18</int>
<reference key="NSVScroller" ref="692013536"/>
<reference key="NSHScroller" ref="471196443"/>
<reference key="NSContentView" ref="859661469"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
</object>
</object>
<string key="NSFrameSize">{204, 234}</string>
<string key="NSFrameSize">{172, 234}</string>
<reference key="NSSuperview" ref="626906425"/>
<reference key="NSNextKeyView" ref="859661469"/>
<int key="NSsFlags">18</int>
<reference key="NSVScroller" ref="692013536"/>
<reference key="NSHScroller" ref="471196443"/>
<reference key="NSContentView" ref="859661469"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
<string key="NSClassName">NSView</string>
</object>
<object class="NSCustomView" id="539342191">
<reference key="NSNextResponder" ref="626906425"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{205, 0}, {649, 234}}</string>
<string key="NSFrame">{{173, 0}, {681, 234}}</string>
<reference key="NSSuperview" ref="626906425"/>
<string key="NSClassName">NSView</string>
</object>
@@ -1721,6 +1738,22 @@
</object>
<int key="connectionID">411</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">treeStyle</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="160663570"/>
</object>
<int key="connectionID">414</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="160663570"/>
<reference key="destination" ref="1001"/>
</object>
<int key="connectionID">416</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -1970,56 +2003,11 @@
<reference key="object" ref="626906425"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="776605770"/>
<reference ref="539342191"/>
<reference ref="282860308"/>
</object>
<reference key="parent" ref="657042048"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">10</int>
<reference key="object" ref="776605770"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="692013536"/>
<reference ref="471196443"/>
<reference ref="216928480"/>
</object>
<reference key="parent" ref="626906425"/>
<string key="objectName">File List Scroll View</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">17</int>
<reference key="object" ref="692013536"/>
<reference key="parent" ref="776605770"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">16</int>
<reference key="object" ref="471196443"/>
<reference key="parent" ref="776605770"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">15</int>
<reference key="object" ref="216928480"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="728334291"/>
</object>
<reference key="parent" ref="776605770"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">18</int>
<reference key="object" ref="728334291"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="161807197"/>
</object>
<reference key="parent" ref="216928480"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">19</int>
<reference key="object" ref="161807197"/>
<reference key="parent" ref="728334291"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">311</int>
<reference key="object" ref="428755155"/>
@@ -2234,6 +2222,66 @@
<reference key="object" ref="539342191"/>
<reference key="parent" ref="626906425"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">412</int>
<reference key="object" ref="282860308"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="776605770"/>
<reference ref="160663570"/>
</object>
<reference key="parent" ref="626906425"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">10</int>
<reference key="object" ref="776605770"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="216928480"/>
<reference ref="471196443"/>
<reference ref="692013536"/>
</object>
<reference key="parent" ref="282860308"/>
<string key="objectName">File List Scroll View</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">15</int>
<reference key="object" ref="216928480"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="728334291"/>
</object>
<reference key="parent" ref="776605770"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">16</int>
<reference key="object" ref="471196443"/>
<reference key="parent" ref="776605770"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">17</int>
<reference key="object" ref="692013536"/>
<reference key="parent" ref="776605770"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">18</int>
<reference key="object" ref="728334291"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="161807197"/>
</object>
<reference key="parent" ref="216928480"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">19</int>
<reference key="object" ref="161807197"/>
<reference key="parent" ref="728334291"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">413</int>
<reference key="object" ref="160663570"/>
<reference key="parent" ref="282860308"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -2325,6 +2373,8 @@
<string>400.IBPluginDependency</string>
<string>400.IBSegmentedControlInspectorSelectedSegmentMetadataKey</string>
<string>410.IBPluginDependency</string>
<string>412.IBPluginDependency</string>
<string>413.IBPluginDependency</string>
<string>46.IBEditorWindowLastContentRect</string>
<string>46.IBPluginDependency</string>
<string>48.IBPluginDependency</string>
@@ -2492,7 +2542,9 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<integer value="2"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{221, 356}, {852, 432}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{68, 19}, {852, 432}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSMutableDictionary">
@@ -2528,11 +2580,23 @@
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">411</int>
<int key="maxID">416</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">MGScopeBar</string>
<string key="superclassName">NSView</string>
<object class="NSMutableDictionary" key="outlets">
<string key="NS.key.0">delegate</string>
<string key="NS.object.0">id</string>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">MGScopeBar/MGScopeBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
@@ -2660,6 +2724,7 @@
<string>searchField</string>
<string>selectedBranchFilterItem</string>
<string>treeController</string>
<string>treeStyle</string>
<string>upperToolbarView</string>
<string>webView</string>
</object>
@@ -2681,6 +2746,7 @@
<string>NSSearchField</string>
<string>NSButton</string>
<string>NSTreeController</string>
<string>MGScopeBar</string>
<string>PBGitGradientBarView</string>
<string>id</string>
</object>
@@ -3286,6 +3352,13 @@
<string key="minorKey">ImageKit.framework/Headers/IKImageBrowserView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">ImageKit.framework/Headers/IKSaveOptions.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
@@ -3328,6 +3401,13 @@
<string key="minorKey">QuartzFilters.framework/Headers/QuartzFilterManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">QuickLookUI.framework/Headers/QLPreviewPanel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
+2
View File
@@ -26,6 +26,7 @@
NSString * absolutePath;
NSImage * iconImage;
}
+ (PBGitTree*) rootForCommit: (id) commit;
+ (PBGitTree*) treeForTree: (PBGitTree*) tree andPath: (NSString*) path;
@@ -37,6 +38,7 @@
@property(copy) NSString* sha;
@property(copy) NSString* path;
@property(assign) BOOL leaf;
@property(assign) BOOL onlyCommit;
@property(retain) PBGitRepository* repository;
@property(assign) __weak PBGitTree* parent;
+11 -5
View File
@@ -14,7 +14,7 @@
@implementation PBGitTree
@synthesize sha, path, repository, leaf, parent, iconImage, absolutePath;
@synthesize sha, path, repository, leaf, parent, iconImage, absolutePath, onlyCommit;
+ (PBGitTree*) rootForCommit:(id) commit
{
@@ -46,6 +46,7 @@
leaf = YES;
absolutePath = [PBGitRepository basePath];
}
onlyCommit=true;
return self;
}
@@ -230,17 +231,22 @@
if (children != nil)
return children;
NSString* ref = [self refSpec];
NSFileHandle* handle = [repository handleForArguments:[NSArray arrayWithObjects:@"show",@"--pretty=format:",@"--name-only", self.sha, nil]];
//[handle readLine];
NSFileHandle* handle;
if(onlyCommit){
handle = [repository handleForArguments:[NSArray arrayWithObjects:@"show",@"--pretty=format:",@"--name-only", self.sha,nil]];
}else{
NSString* ref = [self refSpec];
handle = [repository handleForArguments:[NSArray arrayWithObjects:@"show", ref, nil]];
[handle readLine];
}
[handle readLine];
NSMutableArray* c = [NSMutableArray array];
NSString* p = [handle readLine];
while ([p length] > 0) {
NSLog(@"-->%@",p);
if ([p isEqualToString:@"\r"])
break;