From f09f1c6767db3b714ee0b53948353b9b021c02a1 Mon Sep 17 00:00:00 2001 From: Alexander Hedges Date: Sat, 18 Feb 2017 15:11:38 +0100 Subject: [PATCH] wrap git_remote_delete --- ObjectiveGit/GTRepository.h | 7 +++++++ ObjectiveGit/GTRepository.m | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/ObjectiveGit/GTRepository.h b/ObjectiveGit/GTRepository.h index b98137207..9b1736474 100644 --- a/ObjectiveGit/GTRepository.h +++ b/ObjectiveGit/GTRepository.h @@ -357,6 +357,13 @@ typedef NS_ENUM(NSInteger, GTRepositoryStateType) { /// returns an array of NSStrings holding the names of the remotes, or nil if an error occurred - (nullable NSArray *)remoteNamesWithError:(NSError **)error; +/// Delete the given remote by name +/// +/// error - If not NULL, set to any error that occurs. +/// +/// returns YES if the deletion succeeded, otherwise NO. +- (BOOL)deleteRemoteNamed:(NSString *)remoteName error:(NSError **)error; + /// Get all tags in the repository. /// /// error - If not NULL, set to any error that occurs. diff --git a/ObjectiveGit/GTRepository.m b/ObjectiveGit/GTRepository.m index 3a4976bc3..32918f111 100644 --- a/ObjectiveGit/GTRepository.m +++ b/ObjectiveGit/GTRepository.m @@ -466,6 +466,16 @@ - (NSArray *)remoteNamesWithError:(NSError **)error { return remoteNames; } +- (BOOL)deleteRemoteNamed:(NSString *)remoteName error:(NSError **)error { + int gitError = git_remote_delete(self.git_repository, [remoteName cStringUsingEncoding:NSUTF8StringEncoding]); + if (gitError < GIT_OK) { + if (error != NULL) *error = [NSError git_errorFor:gitError description:@"Failed to delete remote."]; + return NO; + } + + return YES; +} + struct GTRepositoryTagEnumerationInfo { __unsafe_unretained GTRepository *myself; __unsafe_unretained GTRepositoryTagEnumerationBlock block;