Skip to content
This repository was archived by the owner on May 14, 2024. It is now read-only.

Commit 26b00f0

Browse files
author
kernel
committed
RepoCtrl: load 50 commits and show 'Load More' to load next 50.
1 parent 2dc371e commit 26b00f0

25 files changed

+339
-110
lines changed

Git Code.xcodeproj/project.pbxproj

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,6 @@
188188
18DF1BE517BFC13D007D312A /* DAGitStats.m in Sources */ = {isa = PBXBuildFile; fileRef = 18DF1BE417BFC13D007D312A /* DAGitStats.m */; };
189189
18DF1BE917BFD8DD007D312A /* DATitleHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 18DF1BE817BFD8DD007D312A /* DATitleHeader.m */; };
190190
18DF1BEB17BFD8ED007D312A /* DATitleHeader.xib in Resources */ = {isa = PBXBuildFile; fileRef = 18DF1BEA17BFD8ED007D312A /* DATitleHeader.xib */; };
191-
18DF1BEF17BFF7CE007D312A /* DABranchStats.m in Sources */ = {isa = PBXBuildFile; fileRef = 18DF1BEE17BFF7CE007D312A /* DABranchStats.m */; };
192191
18DF1C0117C01A31007D312A /* collapse@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 18DF1BFD17C01A31007D312A /* collapse@2x.png */; };
193192
18DF1C0217C01A31007D312A /* expand.png in Resources */ = {isa = PBXBuildFile; fileRef = 18DF1BFE17C01A31007D312A /* expand.png */; };
194193
18DF1C0317C01A31007D312A /* expand@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 18DF1BFF17C01A31007D312A /* expand@2x.png */; };
@@ -220,6 +219,9 @@
220219
1E07335C19B88CDA00E80EC9 /* RIGlobalAppSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E07335719B88CDA00E80EC9 /* RIGlobalAppSettings.m */; };
221220
1E07336119B88D5600E80EC9 /* WMGeoBlockerWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E07335F19B88D5600E80EC9 /* WMGeoBlockerWindow.m */; };
222221
1E07336219B88D5600E80EC9 /* WMGeoBlockerWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1E07336019B88D5600E80EC9 /* WMGeoBlockerWindow.xib */; };
222+
1E07336619B89A9800E80EC9 /* DAGitLatestCommitStats.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E07336519B89A9800E80EC9 /* DAGitLatestCommitStats.m */; };
223+
1E07336919B89E4C00E80EC9 /* DAGitBaseOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E07336819B89E4C00E80EC9 /* DAGitBaseOperation.m */; };
224+
1E07336C19B89FF200E80EC9 /* DAGitOperationBaseFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E07336B19B89FF200E80EC9 /* DAGitOperationBaseFilter.m */; };
223225
1E28ED3C1998E89A00006C75 /* swipe-gesture-hint@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1E28ED3B1998E89A00006C75 /* swipe-gesture-hint@2x.png */; };
224226
1E28ED4A1998EA2000006C75 /* TPKeyboardAvoidingCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E28ED431998EA2000006C75 /* TPKeyboardAvoidingCollectionView.m */; };
225227
1E28ED4B1998EA2000006C75 /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E28ED451998EA2000006C75 /* TPKeyboardAvoidingScrollView.m */; };
@@ -509,7 +511,7 @@
509511
18352A371799D6BC000DCF07 /* Grabber2_wide_top@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Grabber2_wide_top@2x.png"; sourceTree = "<group>"; };
510512
183C1FD9179FEB080079AD2E /* section_header-alpha.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "section_header-alpha.png"; sourceTree = "<group>"; };
511513
183C1FDA179FEB080079AD2E /* section_header-alpha@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "section_header-alpha@2x.png"; sourceTree = "<group>"; };
512-
183F7E35178C52A60051D689 /* DARepoCtrl+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DARepoCtrl+Private.h"; sourceTree = "<group>"; };
514+
183F7E35178C52A60051D689 /* DARepoCtrl+Internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DARepoCtrl+Internal.h"; sourceTree = "<group>"; };
513515
183F7E42178C550B0051D689 /* DAStatsCtrl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DAStatsCtrl.h; sourceTree = "<group>"; };
514516
183F7E43178C550B0051D689 /* DAStatsCtrl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DAStatsCtrl.m; sourceTree = "<group>"; };
515517
18438B161777778200943F9F /* GTCommit+Gitty.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "GTCommit+Gitty.h"; path = "LibGit2/GTCommit+Gitty.h"; sourceTree = "<group>"; };
@@ -681,8 +683,6 @@
681683
18DF1BE717BFD8DD007D312A /* DATitleHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DATitleHeader.h; sourceTree = "<group>"; };
682684
18DF1BE817BFD8DD007D312A /* DATitleHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DATitleHeader.m; sourceTree = "<group>"; };
683685
18DF1BEA17BFD8ED007D312A /* DATitleHeader.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = DATitleHeader.xib; sourceTree = "<group>"; };
684-
18DF1BED17BFF7CE007D312A /* DABranchStats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DABranchStats.h; sourceTree = "<group>"; };
685-
18DF1BEE17BFF7CE007D312A /* DABranchStats.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DABranchStats.m; sourceTree = "<group>"; };
686686
18DF1BFD17C01A31007D312A /* collapse@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "collapse@2x.png"; sourceTree = "<group>"; };
687687
18DF1BFE17C01A31007D312A /* expand.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = expand.png; sourceTree = "<group>"; };
688688
18DF1BFF17C01A31007D312A /* expand@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "expand@2x.png"; sourceTree = "<group>"; };
@@ -732,6 +732,12 @@
732732
1E07335E19B88D5600E80EC9 /* WMGeoBlockerWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WMGeoBlockerWindow.h; sourceTree = "<group>"; };
733733
1E07335F19B88D5600E80EC9 /* WMGeoBlockerWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WMGeoBlockerWindow.m; sourceTree = "<group>"; };
734734
1E07336019B88D5600E80EC9 /* WMGeoBlockerWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = WMGeoBlockerWindow.xib; sourceTree = "<group>"; };
735+
1E07336419B89A9800E80EC9 /* DAGitLatestCommitStats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DAGitLatestCommitStats.h; sourceTree = "<group>"; };
736+
1E07336519B89A9800E80EC9 /* DAGitLatestCommitStats.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DAGitLatestCommitStats.m; sourceTree = "<group>"; };
737+
1E07336719B89E4C00E80EC9 /* DAGitBaseOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DAGitBaseOperation.h; sourceTree = "<group>"; };
738+
1E07336819B89E4C00E80EC9 /* DAGitBaseOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DAGitBaseOperation.m; sourceTree = "<group>"; };
739+
1E07336A19B89FF200E80EC9 /* DAGitOperationBaseFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DAGitOperationBaseFilter.h; sourceTree = "<group>"; };
740+
1E07336B19B89FF200E80EC9 /* DAGitOperationBaseFilter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DAGitOperationBaseFilter.m; sourceTree = "<group>"; };
735741
1E28ED3B1998E89A00006C75 /* swipe-gesture-hint@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "swipe-gesture-hint@2x.png"; sourceTree = "<group>"; };
736742
1E28ED421998EA2000006C75 /* TPKeyboardAvoidingCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingCollectionView.h; sourceTree = "<group>"; };
737743
1E28ED431998EA2000006C75 /* TPKeyboardAvoidingCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingCollectionView.m; sourceTree = "<group>"; };
@@ -1115,8 +1121,11 @@
11151121
180F2AC017C3B5B600DE1E15 /* Filters */ = {
11161122
isa = PBXGroup;
11171123
children = (
1118-
180F2AC817C3B5C500DE1E15 /* LatestDay */,
11191124
180F2AC917C3B70300DE1E15 /* DAGitOperationFilter.h */,
1125+
1E07336A19B89FF200E80EC9 /* DAGitOperationBaseFilter.h */,
1126+
1E07336B19B89FF200E80EC9 /* DAGitOperationBaseFilter.m */,
1127+
1E07336319B89A6F00E80EC9 /* LatestCommit */,
1128+
180F2AC817C3B5C500DE1E15 /* LatestDay */,
11201129
);
11211130
name = Filters;
11221131
sourceTree = "<group>";
@@ -1696,7 +1705,7 @@
16961705
1801935017FB66600088F4F7 /* ReposListCtrl */,
16971706
189A5320175922FA00B5BD8D /* DARepoCtrl.h */,
16981707
189A5321175922FA00B5BD8D /* DARepoCtrl.m */,
1699-
183F7E35178C52A60051D689 /* DARepoCtrl+Private.h */,
1708+
183F7E35178C52A60051D689 /* DARepoCtrl+Internal.h */,
17001709
188D756917C0F8E300125778 /* DARepoCtrl+Table.h */,
17011710
188D756A17C0F8E300125778 /* DARepoCtrl+Table.m */,
17021711
181240F3175BD21100E6F571 /* DARepoCtrl+Animation.h */,
@@ -1910,7 +1919,6 @@
19101919
children = (
19111920
180F2AC017C3B5B600DE1E15 /* Filters */,
19121921
18DF1BF017BFF9C1007D312A /* Operations */,
1913-
18DF1BEC17BFF7BC007D312A /* Branch */,
19141922
18DF1BE317BFC13D007D312A /* DAGitStats.h */,
19151923
18DF1BE417BFC13D007D312A /* DAGitStats.m */,
19161924
);
@@ -1927,21 +1935,14 @@
19271935
name = TittleHeader;
19281936
sourceTree = "<group>";
19291937
};
1930-
18DF1BEC17BFF7BC007D312A /* Branch */ = {
1931-
isa = PBXGroup;
1932-
children = (
1933-
18DF1BED17BFF7CE007D312A /* DABranchStats.h */,
1934-
18DF1BEE17BFF7CE007D312A /* DABranchStats.m */,
1935-
);
1936-
name = Branch;
1937-
sourceTree = "<group>";
1938-
};
19391938
18DF1BF017BFF9C1007D312A /* Operations */ = {
19401939
isa = PBXGroup;
19411940
children = (
1941+
188D756817C0E86900125778 /* DAGitOperation.h */,
1942+
1E07336719B89E4C00E80EC9 /* DAGitBaseOperation.h */,
1943+
1E07336819B89E4C00E80EC9 /* DAGitBaseOperation.m */,
19421944
188D756417C0E7E400125778 /* RepoWalk */,
19431945
18DF1BF217BFFA2A007D312A /* BranchWalk */,
1944-
188D756817C0E86900125778 /* DAGitOperation.h */,
19451946
);
19461947
name = Operations;
19471948
sourceTree = "<group>";
@@ -2141,6 +2142,15 @@
21412142
path = GeoBlockerWindow;
21422143
sourceTree = "<group>";
21432144
};
2145+
1E07336319B89A6F00E80EC9 /* LatestCommit */ = {
2146+
isa = PBXGroup;
2147+
children = (
2148+
1E07336419B89A9800E80EC9 /* DAGitLatestCommitStats.h */,
2149+
1E07336519B89A9800E80EC9 /* DAGitLatestCommitStats.m */,
2150+
);
2151+
name = LatestCommit;
2152+
sourceTree = "<group>";
2153+
};
21442154
1E28ED411998EA2000006C75 /* TPKeyboardAvoiding */ = {
21452155
isa = PBXGroup;
21462156
children = (
@@ -3122,6 +3132,7 @@
31223132
18D9EA3D17554EB400454F3C /* DAGitManager.m in Sources */,
31233133
1E28EE3F1998EA3B00006C75 /* NSArray+AAV.m in Sources */,
31243134
1EADB756190BF6A100038737 /* AMWaveTransition.m in Sources */,
3135+
1E07336C19B89FF200E80EC9 /* DAGitOperationBaseFilter.m in Sources */,
31253136
1E28EE6D1998EA9D00006C75 /* PagerItemViewContainer.m in Sources */,
31263137
1E28EE571998EA3B00006C75 /* PageControl.m in Sources */,
31273138
1E28EE6C1998EA9D00006C75 /* PagerItemView.m in Sources */,
@@ -3155,10 +3166,12 @@
31553166
189016BE175AAD8200F19CE4 /* DAGitCloneDelegate.m in Sources */,
31563167
1E28EE4A1998EA3B00006C75 /* UIDevice+Hardware.m in Sources */,
31573168
1E28EE551998EA3B00006C75 /* Label.m in Sources */,
3169+
1E07336619B89A9800E80EC9 /* DAGitLatestCommitStats.m in Sources */,
31583170
1871D77A179C19B200F1D928 /* DARecentReposCtrl.m in Sources */,
31593171
1E28EE1A1998EA3B00006C75 /* UIImage+Effects.m in Sources */,
31603172
1E28EE521998EA3B00006C75 /* Button.m in Sources */,
31613173
18A6254C1775D59700FC27AE /* DAGitPull.m in Sources */,
3174+
1E07336919B89E4C00E80EC9 /* DAGitBaseOperation.m in Sources */,
31623175
1EADB757190BF6A100038737 /* AMWaveViewController.m in Sources */,
31633176
18438B611777A8CC00943F9F /* DAGravatar.m in Sources */,
31643177
1861887B176E145F00666DFB /* DAServerCtrl.m in Sources */,
@@ -3266,7 +3279,6 @@
32663279
18E23ACF17BF7F7E008462A3 /* DAEnvironment.m in Sources */,
32673280
18DF1BE517BFC13D007D312A /* DAGitStats.m in Sources */,
32683281
18DF1BE917BFD8DD007D312A /* DATitleHeader.m in Sources */,
3269-
18DF1BEF17BFF7CE007D312A /* DABranchStats.m in Sources */,
32703282
188D756717C0E82800125778 /* DABranchWalk.m in Sources */,
32713283
1ECD53B31998F0F9006C5C38 /* NSNumber+Helper.m in Sources */,
32723284
1E28EE421998EA3B00006C75 /* NSFileManager+Helper.m in Sources */,

Gitty/DABranchStats.h

Lines changed: 0 additions & 13 deletions
This file was deleted.

Gitty/DABranchStats.m

Lines changed: 0 additions & 13 deletions
This file was deleted.

Gitty/DABranchWalk.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,16 @@
66
// Copyright (c) 2013 ReImpl. All rights reserved.
77
//
88

9-
#import "DAGitOperation.h"
9+
#import "DAGitBaseOperation.h"
1010

11-
@interface DABranchWalk : NSObject <DAGitOperation>
11+
@interface DABranchWalk : DAGitBaseOperation
1212
+ (instancetype)walkForBranch:(GTBranch *)branch;
1313
+ (instancetype)walkForTag:(GTTag *)tag;
1414

1515
- (GTSignature *)authorForCommit:(GTCommit *)commit;
1616

1717
@property (strong, nonatomic) NSDateFormatter *dateSectionTitleFormatter;
1818

19-
@property (strong, nonatomic, readonly) NSArray *commits;
2019
// Format: <NSArray of author.email NSStrings> => <GTSignature instance>
2120
@property (strong, nonatomic, readonly) NSArray *authors;
2221
// Format: <NSString author.email> => <GTSignature instance>
@@ -26,5 +25,4 @@
2625

2726
@property (strong, nonatomic, readonly) NSArray *dateSections;
2827
@property (strong, nonatomic, readonly) NSDictionary *commitsOnDateSection;
29-
//@property (strong, nonatomic, readonly) NSDictionary *authorsOnDateSection;
3028
@end

Gitty/DABranchWalk.m

Lines changed: 64 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ @interface DABranchWalk ()
1616
@property (strong, nonatomic, readonly) NSString *startSHA;
1717

1818
@property (strong, nonatomic, readonly) NSDateFormatter *defaultSectionDateFormatter;
19+
20+
@property (strong, nonatomic, readonly) NSString *nextCommitSHA;
1921
@end
2022

2123
@implementation DABranchWalk
@@ -49,42 +51,77 @@ - (GTSignature *)authorForCommit:(GTCommit *)commit {
4951
}
5052

5153
- (void)perform {
52-
NSError *err = nil;
53-
5454
assert(self.repo);
5555

56-
GTEnumerator *iter = [GTEnumerator.alloc initWithRepository:self.repo error:&err];
57-
58-
if (![iter pushSHA:self.startSHA error:&err]) {
59-
[Logger error:@"Failed to pushSHA to enumarate commits."];
60-
return;
61-
}
62-
63-
[iter resetWithOptions:GTEnumeratorOptionsTimeSort];
56+
_hasMoreCommitsToProcess = YES;
6457

58+
NSUInteger processedCommitsCount = 0;
6559
[NSObject startMeasurement];
6660
{
67-
_commits = [iter allObjectsWithError:&err];
61+
processedCommitsCount = [self loadSections];
6862
}
6963
double period = [NSObject endMeasurement];
70-
[Logger info:@"%d Commits in %@ branch loaded in %.2f.", self.commits.count, self.branch.shortName, period];
64+
[Logger info:@"Branch statistics gathered for %d commits in %.2f.", processedCommitsCount, period];
65+
}
66+
/*
67+
- (NSUInteger)countAllCommits {
68+
NSError *err = nil;
69+
GTEnumerator *iter = [GTEnumerator.alloc initWithRepository:self.repo error:&err];
7170
72-
[NSObject startMeasurement];
73-
{
74-
[self prepareSections];
71+
if (![iter pushSHA:self.startSHA error:&err]) {
72+
[Logger error:@"Failed to pushSHA to count commits."];
73+
return 0;
7574
}
76-
period = [NSObject endMeasurement];
77-
[Logger info:@"Branch statistics gethered in %.2f.", period];
78-
}
75+
76+
return [iter countRemainingObjects:&err];
77+
}*/
7978

80-
- (void)prepareSections {
81-
NSMutableDictionary *authorRefs = @{}.mutableCopy;
82-
NSMutableDictionary *commitAuthorMap = @{}.mutableCopy;
79+
- (NSUInteger)loadSections {
80+
NSUInteger processedCommitsCount = 0;
81+
82+
NSMutableDictionary *authorRefs = _authorRefs ? _authorRefs.mutableCopy : @{}.mutableCopy;
83+
NSMutableDictionary *commitAuthorMap = _commitAuthorMap ? _commitAuthorMap.mutableCopy : @{}.mutableCopy;
84+
85+
NSMutableArray *sections = _dateSections ? _dateSections.mutableCopy : @[].mutableCopy;
86+
NSMutableDictionary *commitsOnDate = _commitsOnDateSection ? _commitsOnDateSection.mutableCopy : @{}.mutableCopy;
87+
8388

84-
NSMutableArray *sections = NSMutableArray.new;
85-
NSMutableDictionary *commitsOnDate = NSMutableDictionary.new;
89+
NSError *err = nil;
90+
GTEnumerator *iter = [GTEnumerator.alloc initWithRepository:self.repo error:&err];
91+
92+
NSString *sha = self.nextCommitSHA ? self.nextCommitSHA : self.startSHA;
93+
if (![iter pushSHA:sha error:&err]) {
94+
[Logger error:@"Failed to pushSHA to enumarate commits."];
95+
return 0;
96+
}
8697

87-
for (GTCommit *commit in self.commits) {
98+
[iter resetWithOptions:GTEnumeratorOptionsTimeSort];
99+
100+
101+
size_t idx = self.filter.processedCommitsCount;
102+
103+
for ( ; YES; idx++) {
104+
// for (GTCommit *commit in self.commits) {
105+
BOOL success = NO;
106+
NSError *err = nil;
107+
108+
GTCommit *commit = [iter nextObjectWithSuccess:&success error:&err];
109+
110+
if (!success) {
111+
[Logger error:@"Failed to retrieve next commit. %@", err];
112+
break;
113+
}
114+
115+
if (!commit) {
116+
_hasMoreCommitsToProcess = NO;
117+
break;
118+
}
119+
120+
_nextCommitSHA = commit.SHA;
121+
122+
if (![self.filter filterNextCommit:commit]) {
123+
break;
124+
}
88125

89126
self.dateSectionTitleFormatter.timeZone = commit.commitTimeZone;
90127
NSString *title = [self.dateSectionTitleFormatter stringFromDate:commit.commitDate];
@@ -105,30 +142,18 @@ - (void)prepareSections {
105142
commitsOnDate[title] = commits;
106143
}
107144
[commits addObject:commit];
108-
/*
109-
NSMutableArray *authors = authorsOnDate[title];
110-
if (!authors) {
111-
authors = NSMutableArray.new;
112-
authorsOnDate[title] = authors;
113-
}
114-
if (![authors containsObject:author]) {
115-
[authors addObject:author];
116-
}*/
117145
}
146+
147+
processedCommitsCount++;
118148
}
119149

120150
_dateSections = sections.copy;
121151
_commitsOnDateSection = commitsOnDate.copy;
122-
// _authorsOnDateSection = authorsOnDate.copy;
123152

124153
_authorRefs = authorRefs.copy;
125154
_commitAuthorMap = commitAuthorMap.copy;
126-
}
127-
128-
- (id<DAGitOperation>)filter:(id<DAGitOperationFilter>)filter {
129-
[Logger info:@"Dummy - %s", __PRETTY_FUNCTION__];
130155

131-
return nil;
156+
return processedCommitsCount;
132157
}
133158

134159
#pragma mark Properties

Gitty/DAGitBaseOperation.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
//
2+
// DAGitBaseOperation.h
3+
// Git Code
4+
//
5+
// Created by Altukhov Anton on 9/4/14.
6+
// Copyright (c) 2014 ReImpl. All rights reserved.
7+
//
8+
9+
#import "DAGitOperation.h"
10+
11+
@interface DAGitBaseOperation : NSObject <DAGitOperation> {
12+
@protected BOOL _hasMoreCommitsToProcess;
13+
}
14+
@end

Gitty/DAGitBaseOperation.m

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//
2+
// DAGitBaseOperation.m
3+
// Git Code
4+
//
5+
// Created by Altukhov Anton on 9/4/14.
6+
// Copyright (c) 2014 ReImpl. All rights reserved.
7+
//
8+
9+
#import "DAGitBaseOperation.h"
10+
11+
@implementation DAGitBaseOperation
12+
@synthesize filter;
13+
@synthesize hasMoreCommitsToProcess = _hasMoreCommitsToProcess;
14+
15+
- (void)perform {
16+
[Logger info:@"Dummy. %s", __PRETTY_FUNCTION__];
17+
}
18+
19+
- (id<DAGitOperation>)filter:(id<DAGitOperationFilter>)filter {
20+
[Logger info:@"Dummy. %s", __PRETTY_FUNCTION__];
21+
22+
return nil;
23+
}
24+
25+
@end

0 commit comments

Comments
 (0)