Skip to content

Commit 021a9a7

Browse files
authored
Merge pull request #651 from libgit2/xcode-9.3
πŸ‘·πŸ»β€β™€οΈπŸ›  Xcode 9.3
2 parents e22dfba + 7895ba9 commit 021a9a7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+425
-271
lines changed

β€Ž.travis.yml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,30 @@
1-
osx_image: xcode8.3
1+
#
2+
# .travis.yml
3+
# Objective-Git
4+
#
5+
# https://docs.travis-ci.com/user/reference/osx/
6+
# https://docs.travis-ci.com/user/build-stages/matrix-expansion/
7+
#
8+
---
9+
os: osx
10+
osx_image: xcode9.3
211
language: objective-c
12+
313
matrix:
414
fast_finish: true
515
include:
6-
- osx_image: xcode8.3
16+
- osx_image: xcode9.3
717
env:
818
- SCHEME="ObjectiveGit Mac"
9-
- osx_image: xcode8.3
19+
- osx_image: xcode9.3
1020
env:
1121
- SCHEME="ObjectiveGit iOS"
22+
1223
before_install:
1324
- gem install xcpretty
1425
- gem install xcpretty-travis-formatter
1526
install: script/bootstrap
1627
script: script/cibuild
28+
1729
notifications:
1830
email: false

β€ŽCartfile.private

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
github "jspahrsummers/xcconfigs" >= 0.7.1
2-
github "Quick/Quick" ~> 1.1.0
3-
github "Quick/Nimble" ~> 5.0
4-
github "ZipArchive/ZipArchive" ~> 1.1
1+
github "jspahrsummers/xcconfigs" "master"
2+
github "Quick/Quick" ~> 1.2.0
3+
github "Quick/Nimble" ~> 7.0.3
4+
github "ZipArchive/ZipArchive" ~> 2.1.2

β€ŽCartfile.resolved

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
github "Quick/Nimble" "v5.1.1"
2-
github "Quick/Quick" "v1.1.0"
3-
github "ZipArchive/ZipArchive" "v1.8.1"
4-
github "jspahrsummers/xcconfigs" "0.10"
1+
github "Quick/Nimble" "v7.0.3"
2+
github "Quick/Quick" "v1.2.0"
3+
github "ZipArchive/ZipArchive" "v2.1.2"
4+
github "jspahrsummers/xcconfigs" "bb795558a76e5daf3688500055bbcfe243bffa8d"

β€ŽCarthage/Checkouts/Nimble

Submodule Nimble updated 146 files

β€ŽCarthage/Checkouts/Quick

Submodule Quick updated 46 files

β€ŽCarthage/Checkouts/ZipArchive

Submodule ZipArchive updated 87 files

β€ŽCarthage/Checkouts/xcconfigs

β€ŽObjectiveGit/GTBlob.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ NS_ASSUME_NONNULL_BEGIN
104104
- (git_blob *)git_blob __attribute__((objc_returns_inner_pointer));
105105

106106
- (git_off_t)size;
107-
- (NSString *)content;
108-
- (NSData * _Nullable)data;
107+
- (NSString * _Nullable)content;
108+
- (NSData *)data;
109109

110110
/// Attempts to apply the filter list for `path` to the blob.
111111
///

β€ŽObjectiveGit/GTBranch.m

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -124,19 +124,23 @@ - (NSString *)remoteName {
124124
}
125125

126126
- (GTCommit *)targetCommitWithError:(NSError **)error {
127-
if (self.OID == nil) {
127+
GTOID *oid = self.OID;
128+
if (oid == nil) {
128129
if (error != NULL) *error = GTReference.invalidReferenceError;
129130
return nil;
130131
}
131132

132-
return [self.repository lookUpObjectByOID:self.OID objectType:GTObjectTypeCommit error:error];
133+
return [self.repository lookUpObjectByOID:oid objectType:GTObjectTypeCommit error:error];
133134
}
134135

135136
- (NSUInteger)numberOfCommitsWithError:(NSError **)error {
136137
GTEnumerator *enumerator = [[GTEnumerator alloc] initWithRepository:self.repository error:error];
137138
if (enumerator == nil) return NSNotFound;
138139

139-
if (![enumerator pushSHA:self.OID.SHA error:error]) return NSNotFound;
140+
GTOID *oid = self.OID;
141+
if (oid == nil) return NSNotFound;
142+
143+
if (![enumerator pushSHA:oid.SHA error:error]) return NSNotFound;
140144
return [enumerator countRemainingObjects:error];
141145
}
142146

@@ -157,7 +161,9 @@ - (BOOL)isHEAD {
157161
}
158162

159163
- (NSArray *)uniqueCommitsRelativeToBranch:(GTBranch *)otherBranch error:(NSError **)error {
160-
GTEnumerator *enumerator = [self.repository enumeratorForUniqueCommitsFromOID:self.OID relativeToOID:otherBranch.OID error:error];
164+
GTOID *oid = self.OID;
165+
GTOID *otherOID = otherBranch.OID;
166+
GTEnumerator *enumerator = [self.repository enumeratorForUniqueCommitsFromOID:oid relativeToOID:otherOID error:error];
161167
return [enumerator allObjectsWithError:error];
162168
}
163169

@@ -179,14 +185,21 @@ - (BOOL)rename:(NSString *)name force:(BOOL)force error:(NSError **)error {
179185
return NO;
180186
}
181187

182-
_reference = [[GTReference alloc] initWithGitReference:git_ref repository:self.repository];
188+
GTReference *renamedRef = [[GTReference alloc] initWithGitReference:git_ref repository:self.repository];
189+
NSAssert(renamedRef, @"Unable to allocate renamed ref");
190+
_reference = renamedRef;
183191

184192
return YES;
185193
}
186194

187195
- (GTBranch *)trackingBranchWithError:(NSError **)error success:(BOOL *)success {
196+
BOOL underSuccess = NO;
197+
if (success == NULL) {
198+
success = &underSuccess;
199+
}
200+
188201
if (self.branchType == GTBranchTypeRemote) {
189-
if (success != NULL) *success = YES;
202+
*success = YES;
190203
return self;
191204
}
192205

@@ -195,25 +208,32 @@ - (GTBranch *)trackingBranchWithError:(NSError **)error success:(BOOL *)success
195208

196209
// GIT_ENOTFOUND means no tracking branch found.
197210
if (gitError == GIT_ENOTFOUND) {
198-
if (success != NULL) *success = YES;
211+
*success = YES;
199212
return nil;
200213
}
201214

202215
if (gitError != GIT_OK) {
203-
if (success != NULL) *success = NO;
216+
*success = NO;
204217
if (error != NULL) *error = [NSError git_errorFor:gitError description:@"Failed to create reference to tracking branch from %@", self];
205218
return nil;
206219
}
207220

208221
if (trackingRef == NULL) {
209-
if (success != NULL) *success = NO;
222+
*success = NO;
210223
if (error != NULL) *error = [NSError git_errorFor:gitError description:@"Got a NULL remote ref for %@", self];
211224
return nil;
212225
}
213226

214-
if (success != NULL) *success = YES;
227+
GTReference *upsteamRef = [[GTReference alloc] initWithGitReference:trackingRef repository:self.repository];
228+
if (upsteamRef == nil) {
229+
*success = NO;
230+
if (error != NULL) *error = [NSError git_errorFor:GIT_ERROR description:@"Failed to allocate upstream ref"];
231+
return nil;
232+
}
233+
234+
*success = YES;
215235

216-
return [[self class] branchWithReference:[[GTReference alloc] initWithGitReference:trackingRef repository:self.repository]];
236+
return [[self class] branchWithReference:upsteamRef];
217237
}
218238

219239
- (BOOL)updateTrackingBranch:(GTBranch *)trackingBranch error:(NSError **)error {
@@ -239,7 +259,9 @@ - (GTBranch *)reloadedBranchWithError:(NSError **)error {
239259
}
240260

241261
- (BOOL)calculateAhead:(size_t *)ahead behind:(size_t *)behind relativeTo:(GTBranch *)branch error:(NSError **)error {
242-
return [self.repository calculateAhead:ahead behind:behind ofOID:self.OID relativeToOID:branch.OID error:error];
262+
GTOID *oid = self.OID;
263+
GTOID *branchOID = branch.OID;
264+
return [self.repository calculateAhead:ahead behind:behind ofOID:oid relativeToOID:branchOID error:error];
243265
}
244266

245267
@end

β€ŽObjectiveGit/GTCheckoutOptions.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,13 @@ typedef NS_OPTIONS(NSInteger, GTCheckoutNotifyFlags) {
8787
@property (assign) GTCheckoutStrategyType strategy;
8888

8989
/// The checkout progress block that was passed in.
90-
@property (copy) void (^progressBlock)(NSString *path, NSUInteger completedSteps, NSUInteger totalSteps);
90+
@property (copy, nullable) void (^progressBlock)(NSString *path, NSUInteger completedSteps, NSUInteger totalSteps);
9191

9292
/// The notification flags currently enabled.
9393
@property (assign) GTCheckoutNotifyFlags notifyFlags;
9494

9595
/// The checkout notification block that was passed in.
96-
@property (copy) int (^notifyBlock)(GTCheckoutNotifyFlags why, NSString *path, GTDiffFile *baseline, GTDiffFile *target, GTDiffFile *workdir);
96+
@property (copy, nullable) int (^notifyBlock)(GTCheckoutNotifyFlags why, NSString *path, GTDiffFile *baseline, GTDiffFile *target, GTDiffFile *workdir);
9797

9898
/// An array of strings used to restrict what will be checked out.
9999
@property (copy) NSArray <NSString *> *pathSpecs;

0 commit comments

Comments
Β (0)