mirror of
https://github.com/kennethreitz-archive/gitx.git
synced 2026-06-05 23:40:18 +00:00
4a8c524692
- filters for All, Local/Remote, and the selected branch
- "Local" includes both branches and tags
- "Remote" includes all branches from the same remote as the selected remote branch (i.e. not other remotes)
Changes to make the above work:
- add a history list class between the repository and rev list
- store a project rev list with all the commits from the project
- use the project rev list to graph the history for individual branches when there have been no changes
- use a different rev list to show non-simple revs (history of a file, revs from the gitx tool)
- update the commits in chunks to a mutable array so the table view's array controller has less work to do
- only update the project rev list from git when actually necessary
- don't add the All Branches and Local Branches revs to the branches array
- some changes related to forcing the project's rev list to update when changes are made
- some changes related to not causing updates too often
- store the selected filter in user defaults
- when the graphing is done select the commit for the branch
54 lines
1.1 KiB
Objective-C
54 lines
1.1 KiB
Objective-C
//
|
|
// PBGitHistoryList.h
|
|
// GitX
|
|
//
|
|
// Created by Nathan Kinsinger on 2/20/10.
|
|
// Copyright 2010 Nathan Kinsinger. All rights reserved.
|
|
//
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
|
|
@class PBGitRepository;
|
|
@class PBGitRevSpecifier;
|
|
@class PBGitRef;
|
|
@class PBGitRevList;
|
|
@class PBGitHistoryGrapher;
|
|
|
|
@interface PBGitHistoryList : NSObject {
|
|
PBGitRepository *repository;
|
|
|
|
PBGitRevList *projectRevList;
|
|
PBGitRevList *currentRevList;
|
|
|
|
NSString *lastSHA;
|
|
NSSet *lastRefSHAs;
|
|
NSInteger lastBranchFilter;
|
|
PBGitRef *lastRemoteRef;
|
|
BOOL resetCommits;
|
|
BOOL shouldReloadProjectHistory;
|
|
NSDate *updatedGraph;
|
|
|
|
PBGitHistoryGrapher *grapher;
|
|
NSOperationQueue *graphQueue;
|
|
NSInvocationOperation *lastOperation;
|
|
|
|
NSMutableArray *commits;
|
|
BOOL isUpdating;
|
|
}
|
|
|
|
- (id) initWithRepository:(PBGitRepository *)repo;
|
|
- (void) forceUpdate;
|
|
- (void) updateHistory;
|
|
|
|
- (void) addCommitsFromArray:(NSArray *)array;
|
|
|
|
|
|
@property (retain) PBGitRevList *projectRevList;
|
|
@property (retain) NSMutableArray *commits;
|
|
@property (readonly) NSArray *projectCommits;
|
|
@property (assign) BOOL isUpdating;
|
|
@property (retain) NSDate *updatedGraph;
|
|
|
|
@end
|