Skip to content

Commit 55898a7

Browse files
committed
More fixes for pull request #576
1 parent f4a1103 commit 55898a7

File tree

6 files changed

+24
-36
lines changed

6 files changed

+24
-36
lines changed

ObjectiveGit/GTNote.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ NS_ASSUME_NONNULL_BEGIN
7171
/// referenceName - Name for the notes reference in the repo, or NULL for default ("refs/notes/commits")
7272
///
7373
/// Returns initialized GTNote instance or nil on failure.
74-
- (nullable instancetype)initWithTargetGitOID:(git_oid *)oid repository:(git_repository *)repository referenceName:(const char * _Nullable)referenceName;
74+
- (nullable instancetype)initWithTargetGitOID:(git_oid *)oid repository:(git_repository *)repository referenceName:(const char * _Nullable)referenceName error:(NSError **)error NS_DESIGNATED_INITIALIZER;
7575

7676
- (instancetype)init NS_UNAVAILABLE;
7777

ObjectiveGit/GTNote.m

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,25 +58,20 @@ - (GTOID *)targetOID {
5858
}
5959

6060
- (instancetype)initWithTargetOID:(GTOID *)oid repository:(GTRepository *)repository referenceName:(NSString *)referenceName error:(NSError **)error {
61-
self = [super init];
62-
if (self == nil) return nil;
63-
64-
int gitErr = git_note_read(&_note, repository.git_repository, referenceName.UTF8String, oid.git_oid);
65-
66-
if (gitErr != GIT_OK && error != NULL) *error = [NSError git_errorFor:gitErr description:@"Failed to read a note."];
67-
68-
if (gitErr != GIT_OK) return nil;
69-
70-
return self;
61+
return [self initWithTargetGitOID:(git_oid *)oid.git_oid repository:repository.git_repository referenceName:referenceName.UTF8String error:error];
7162
}
7263

73-
- (instancetype)initWithTargetGitOID:(git_oid *)oid repository:(git_repository *)repository referenceName:(const char *)referenceName {
64+
- (instancetype)initWithTargetGitOID:(git_oid *)oid repository:(git_repository *)repository referenceName:(const char *)referenceName error:(NSError **)error {
7465
self = [super init];
7566
if (self == nil) return nil;
7667

7768
int gitErr = git_note_read(&_note, repository, referenceName, oid);
7869

79-
if (gitErr != GIT_OK) return nil;
70+
if (gitErr != GIT_OK) {
71+
if (error != NULL) *error = [NSError git_errorFor:gitErr description:@"Unable to read note"];
72+
73+
return nil;
74+
}
8075

8176
return self;
8277
}

ObjectiveGit/GTRepository.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -667,7 +667,7 @@ typedef NS_ENUM(NSInteger, GTRepositoryStateType) {
667667
/// If the block sets `stop` to YES, the iterator is finished.
668668
///
669669
/// Returns YES on overall success or NO on error of any kind.
670-
- (BOOL)enumerateNotesWithReferenceName:(nullable NSString *)referenceName error:(NSError **)error usingBlock:(void (^)(GTNote *note, GTObject *object, BOOL *stop))block;
670+
- (BOOL)enumerateNotesWithReferenceName:(nullable NSString *)referenceName error:(NSError **)error usingBlock:(void (^)(GTNote * __nullable note, GTObject * __nullable object, NSError * __nullable error, BOOL *stop))block;
671671

672672
@end
673673

ObjectiveGit/GTRepository.m

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -969,20 +969,19 @@ - (GTNote *)createNote:(NSString *)note target:(GTObject *)theTarget referenceNa
969969
- (BOOL)removeNoteFromObject:(GTObject *)parentObject referenceName:(NSString *)referenceName author:(GTSignature *)author committer:(GTSignature *)committer error:(NSError **)error {
970970
int gitError = git_note_remove(self.git_repository, referenceName.UTF8String, author.git_signature, committer.git_signature, parentObject.OID.git_oid);
971971
if (gitError != GIT_OK) {
972-
if(error != NULL) *error = [NSError git_errorFor:gitError description:@"Failed to delete note from %@", parentObject];
972+
if (error != NULL) *error = [NSError git_errorFor:gitError description:@"Failed to delete note from %@", parentObject];
973973
return NO;
974974
}
975975

976976
return YES;
977977
}
978978

979-
- (BOOL)enumerateNotesWithReferenceName:(NSString *)referenceName error:(NSError **)error usingBlock:(void (^)(GTNote *note, GTObject *object, BOOL *stop))block {
979+
- (BOOL)enumerateNotesWithReferenceName:(NSString *)referenceName error:(NSError **)error usingBlock:(void (^)(GTNote *note, GTObject *object, NSError *error, BOOL *stop))block {
980980
git_note_iterator *iter = NULL;
981981

982982
int gitError = git_note_iterator_new(&iter, self.git_repository, referenceName.UTF8String);
983983

984-
if (gitError != GIT_OK)
985-
{
984+
if (gitError != GIT_OK) {
986985
if (error != NULL) *error = [NSError git_errorFor:gitError description:@"Failed to enumerate notes"];
987986
return NO;
988987
}
@@ -999,23 +998,21 @@ - (BOOL)enumerateNotesWithReferenceName:(NSString *)referenceName error:(NSError
999998
while ((iterError = git_note_next(&note_id, &object_id, iter)) == GIT_OK) {
1000999
NSError *lookupErr = nil;
10011000

1002-
GTNote *note = [[GTNote alloc] initWithTargetOID:[GTOID oidWithGitOid:&object_id] repository:self referenceName:referenceName error:error];
1003-
if (note == nil) return NO;
1001+
GTNote *note = [[GTNote alloc] initWithTargetOID:[GTOID oidWithGitOid:&object_id] repository:self referenceName:referenceName error:&lookupErr];
1002+
GTObject *obj = nil;
10041003

1005-
GTObject *obj = [self lookUpObjectByGitOid:&object_id error:&lookupErr];
1006-
if (obj == nil && lookupErr != nil) {
1007-
if (error != NULL) *error = lookupErr;
1008-
return NO;
1009-
}
1004+
if (note != nil) obj = [self lookUpObjectByGitOid:&object_id error:&lookupErr];
10101005

10111006
BOOL stop = NO;
1012-
block(note, obj, &stop);
1007+
block(note, obj, lookupErr, &stop);
10131008
if (stop) {
10141009
break;
10151010
}
10161011
}
10171012

1018-
if (iterError != GIT_OK && iterError != GIT_ITEROVER && error != NULL) *error = [NSError git_errorFor:iterError description:@"Iterator error"];
1013+
if (iterError != GIT_OK && iterError != GIT_ITEROVER) {
1014+
if (error != NULL) *error = [NSError git_errorFor:iterError description:@"Iterator error"];
1015+
}
10191016

10201017
return success;
10211018
}

ObjectiveGitFramework.xcodeproj/project.pbxproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -372,8 +372,6 @@
372372
F964D5F21CE9D9B200F1D8DD /* GTNote.h in Headers */ = {isa = PBXBuildFile; fileRef = F964D5EF1CE9D9B200F1D8DD /* GTNote.h */; settings = {ATTRIBUTES = (Public, ); }; };
373373
F964D5F31CE9D9B200F1D8DD /* GTNote.m in Sources */ = {isa = PBXBuildFile; fileRef = F964D5F01CE9D9B200F1D8DD /* GTNote.m */; };
374374
F964D5F51CE9D9B200F1D8DD /* GTNote.m in Sources */ = {isa = PBXBuildFile; fileRef = F964D5F01CE9D9B200F1D8DD /* GTNote.m */; };
375-
F9D1D4231CEB79D1009E5855 /* GTNoteSpec.m in Resources */ = {isa = PBXBuildFile; fileRef = F9D1D4221CEB79D1009E5855 /* GTNoteSpec.m */; };
376-
F9D1D4241CEB79D1009E5855 /* GTNoteSpec.m in Resources */ = {isa = PBXBuildFile; fileRef = F9D1D4221CEB79D1009E5855 /* GTNoteSpec.m */; };
377375
F9D1D4251CEB7BA6009E5855 /* GTNoteSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = F9D1D4221CEB79D1009E5855 /* GTNoteSpec.m */; };
378376
/* End PBXBuildFile section */
379377

@@ -1322,7 +1320,6 @@
13221320
isa = PBXResourcesBuildPhase;
13231321
buildActionMask = 2147483647;
13241322
files = (
1325-
F9D1D4231CEB79D1009E5855 /* GTNoteSpec.m in Resources */,
13261323
D09C2E51175602A500065E36 /* fixtures.zip in Resources */,
13271324
);
13281325
runOnlyForDeploymentPostprocessing = 0;
@@ -1339,7 +1336,6 @@
13391336
isa = PBXResourcesBuildPhase;
13401337
buildActionMask = 2147483647;
13411338
files = (
1342-
F9D1D4241CEB79D1009E5855 /* GTNoteSpec.m in Resources */,
13431339
F8D007A81B4FA045009A8DAF /* fixtures.zip in Resources */,
13441340
);
13451341
runOnlyForDeploymentPostprocessing = 0;

ObjectiveGitTests/GTNoteSpec.m

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@
3737

3838
it(@"can create notes", ^{
3939
// Annotate the commit
40-
GTSignature* sig = [repository userSignatureForNow];
40+
GTSignature *sig = [repository userSignatureForNow];
4141
expect(sig).notTo(beNil());
4242

43-
NSError* err = nil;
43+
NSError *err = nil;
4444

4545
GTNote *note = [repository createNote:@"Note text" target:initialCommit referenceName:nil author:sig committer:sig overwriteIfExists:YES error:&err];
4646
expect(note).notTo(beNil());
@@ -57,10 +57,10 @@
5757

5858
it(@"can delete notes", ^{
5959
// Annotate the commit
60-
GTSignature* sig = [repository userSignatureForNow];
60+
GTSignature *sig = [repository userSignatureForNow];
6161
expect(sig).notTo(beNil());
6262

63-
NSError* err = nil;
63+
NSError *err = nil;
6464

6565
GTNote *note = [repository createNote:@"Note text" target:initialCommit referenceName:nil author:sig committer:sig overwriteIfExists:YES error:&err];
6666
expect(note).notTo(beNil());
@@ -70,7 +70,7 @@
7070
expect(@(res)).to(beTrue());
7171
expect(err).to(beNil());
7272

73-
NSMutableArray* notes = [NSMutableArray arrayWithCapacity:0];
73+
NSMutableArray *notes = [NSMutableArray arrayWithCapacity:0];
7474

7575
[repository enumerateNotesWithReferenceName:nil error:&err usingBlock:^(GTNote *note, GTObject *object, BOOL *stop) {
7676
[notes addObject:note];

0 commit comments

Comments
 (0)