mirror of
https://github.com/kennethreitz-archive/gitx.git
synced 2026-06-05 23:40:18 +00:00
RefController: Allow checking out branches
This commit is contained in:
@@ -34,6 +34,7 @@ extern NSString* PBGitRepositoryErrorDomain;
|
||||
- (NSString*) outputForArguments:(NSArray*) args;
|
||||
- (NSString*) outputForArguments:(NSArray*) args retValue:(int *)ret;
|
||||
- (NSString *)outputInWorkdirForArguments:(NSArray*) arguments;
|
||||
- (NSString *)outputInWorkdirForArguments:(NSArray*) arguments retValue:(int *)ret;
|
||||
|
||||
- (NSString *)workingDirectory;
|
||||
|
||||
|
||||
+5
-1
@@ -353,8 +353,12 @@ NSString* PBGitRepositoryErrorDomain = @"GitXErrorDomain";
|
||||
return [PBEasyPipe outputForCommand:[PBGitBinary path] withArgs:arguments inDir: [self workingDirectory]];
|
||||
}
|
||||
|
||||
- (NSString*) outputInWorkdirForArguments:(NSArray *)arguments retValue:(int *)ret
|
||||
{
|
||||
return [PBEasyPipe outputForCommand:[PBGitBinary path] withArgs:arguments inDir:[self workingDirectory] retValue: ret];
|
||||
}
|
||||
|
||||
- (NSString*) outputForArguments:(NSArray *)arguments retValue:(int *)ret;
|
||||
- (NSString*) outputForArguments:(NSArray *)arguments retValue:(int *)ret
|
||||
{
|
||||
return [PBEasyPipe outputForCommand:[PBGitBinary path] withArgs:arguments inDir: self.fileURL.path retValue: ret];
|
||||
}
|
||||
|
||||
@@ -30,6 +30,21 @@
|
||||
[commitController rearrangeObjects];
|
||||
}
|
||||
|
||||
- (void) checkoutRef:(PBRefMenuItem *)sender
|
||||
{
|
||||
int ret = 1;
|
||||
[historyController.repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"checkout", [[sender ref] shortName], nil] retValue: &ret];
|
||||
if (ret) {
|
||||
[[NSAlert alertWithMessageText:@"Checking out branch failed"
|
||||
defaultButton:@"OK"
|
||||
alternateButton:nil
|
||||
otherButton:nil
|
||||
informativeTextWithFormat:@"There was an error checking out the branch. Perhaps your working directory is not clean?"] runModal];
|
||||
return;
|
||||
}
|
||||
[historyController.repository reloadRefs];
|
||||
}
|
||||
|
||||
- (NSArray *) menuItemsForRef:(PBGitRef *)ref commit:(PBGitCommit *)commit
|
||||
{
|
||||
return [PBRefMenuItem defaultMenuItemsForRef:ref commit:commit target:self];
|
||||
|
||||
+4
-4
@@ -24,10 +24,10 @@
|
||||
[array addObject:[[PBRefMenuItem alloc] initWithTitle:[@"Delete " stringByAppendingString:type]
|
||||
action:@selector(removeRef:)
|
||||
keyEquivalent: @""]];
|
||||
|
||||
[array addObject:[[PBRefMenuItem alloc] initWithTitle:[@"Checkout " stringByAppendingString:type]
|
||||
action:@selector(checkoutRef:)
|
||||
keyEquivalent: @""]];
|
||||
if ([type isEqualToString:@"branch"])
|
||||
[array addObject:[[PBRefMenuItem alloc] initWithTitle:@"Checkout branch"
|
||||
action:@selector(checkoutRef:)
|
||||
keyEquivalent: @""]];
|
||||
|
||||
for (PBRefMenuItem *item in array)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user