Files
gitx/PBGitHistoryList.h
T
Nathan Kinsinger 4a8c524692 Add branch view filters to history scope bar
- 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
2010-03-13 22:16:44 -07:00

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