Skip to content

Commit cf7d1e4

Browse files
author
Alexander Hedges
committed
Make path in checkoutProgressBlock optional
The path from the checkout progress block is set to nil when called the first time from git_checkout_iterator. This happens when calling report_progress() on line 2547 in checkout.c. This in turn causes a crash.
1 parent 4f8730e commit cf7d1e4

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

ObjectiveGit/GTRepository.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ extern NSString * const GTRepositoryInitOptionsOriginURLString;
228228
/// May be NULL.
229229
///
230230
/// returns nil (and fills the error parameter) if an error occurred, or a GTRepository object if successful.
231-
+ (nullable instancetype)cloneFromURL:(NSURL *)originURL toWorkingDirectory:(NSURL *)workdirURL options:(nullable NSDictionary *)options error:(NSError **)error transferProgressBlock:(nullable void (^)(const git_transfer_progress *, BOOL *stop))transferProgressBlock checkoutProgressBlock:(nullable void (^) (NSString *path, NSUInteger completedSteps, NSUInteger totalSteps))checkoutProgressBlock;
231+
+ (nullable instancetype)cloneFromURL:(NSURL *)originURL toWorkingDirectory:(NSURL *)workdirURL options:(nullable NSDictionary *)options error:(NSError **)error transferProgressBlock:(nullable void (^)(const git_transfer_progress *, BOOL *stop))transferProgressBlock checkoutProgressBlock:(nullable void (^) (NSString *__nullable path, NSUInteger completedSteps, NSUInteger totalSteps))checkoutProgressBlock;
232232

233233
/// Lookup objects in the repo by oid or sha1
234234
- (nullable id)lookUpObjectByOID:(GTOID *)oid objectType:(GTObjectType)type error:(NSError **)error;

ObjectiveGit/GTRepository.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ static int remoteCreate(git_remote **remote, git_repository *repo, const char *n
223223
return GIT_OK;
224224
}
225225

226-
+ (instancetype)cloneFromURL:(NSURL *)originURL toWorkingDirectory:(NSURL *)workdirURL options:(NSDictionary *)options error:(NSError **)error transferProgressBlock:(void (^)(const git_transfer_progress *, BOOL *stop))transferProgressBlock checkoutProgressBlock:(void (^)(NSString *path, NSUInteger completedSteps, NSUInteger totalSteps))checkoutProgressBlock {
226+
+ (instancetype)cloneFromURL:(NSURL *)originURL toWorkingDirectory:(NSURL *)workdirURL options:(NSDictionary *)options error:(NSError **)error transferProgressBlock:(void (^)(const git_transfer_progress *, BOOL *stop))transferProgressBlock checkoutProgressBlock:(void (^)(NSString *__nullable path, NSUInteger completedSteps, NSUInteger totalSteps))checkoutProgressBlock {
227227

228228
git_clone_options cloneOptions = GIT_CLONE_OPTIONS_INIT;
229229

0 commit comments

Comments
 (0)