Skip to content

Commit 64b977e

Browse files
heipeiPieter de Bie
authored andcommitted
PBGitRepository: Add method to remove branch
This adds a removeBranch method similar to the addBranch method. It calls these methods when a branch is created/deleted in the UI, avoiding the cost of simply calling refresh afterwards. Signed-off-by: Johannes Gilger <[email protected]>
1 parent 7b63935 commit 64b977e

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

PBGitRepository.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ extern NSString* PBGitRepositoryErrorDomain;
5151

5252
- (void) readCurrentBranch;
5353
- (PBGitRevSpecifier*) addBranch: (PBGitRevSpecifier*) rev;
54+
- (BOOL)removeBranch:(PBGitRevSpecifier *)rev;
5455

5556
- (NSString*) parseSymbolicReference:(NSString*) ref;
5657
- (NSString*) parseReference:(NSString*) ref;

PBGitRepository.m

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,19 @@ - (PBGitRevSpecifier*) addBranch: (PBGitRevSpecifier*) rev
294294
[self didChangeValueForKey:@"branches"];
295295
return rev;
296296
}
297+
298+
- (BOOL)removeBranch:(PBGitRevSpecifier *)rev
299+
{
300+
for (PBGitRevSpecifier *r in branches) {
301+
if ([rev isEqualTo:r]) {
302+
[self willChangeValueForKey:@"branches"];
303+
[branches removeObject:r];
304+
[self didChangeValueForKey:@"branches"];
305+
return TRUE;
306+
}
307+
}
308+
return FALSE;
309+
}
297310

298311
- (void) readCurrentBranch
299312
{

PBRefController.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ - (void) removeRef:(PBRefMenuItem *) sender
4949
NSLog(@"Removing ref failed!");
5050
return;
5151
}
52-
52+
[historyController.repository removeBranch:[[PBGitRevSpecifier alloc] initWithRef:[sender ref]]];
5353
[[sender commit] removeRef:[sender ref]];
5454
[commitController rearrangeObjects];
5555
}
@@ -208,7 +208,7 @@ -(void)saveSheet:(id) sender
208208
[errorMessage setStringValue:@"Branch exists"];
209209
return;
210210
}
211-
211+
[historyController.repository addBranch:[[PBGitRevSpecifier alloc] initWithRef:[PBGitRef refFromString:branchName]]];
212212
[self closeSheet:sender];
213213
[commit addRef:[PBGitRef refFromString:branchName]];
214214
[commitController rearrangeObjects];

0 commit comments

Comments
 (0)