diff --git a/PBRefMenuItem.h b/PBRefMenuItem.h
index 5d00f5d..0946f37 100644
--- a/PBRefMenuItem.h
+++ b/PBRefMenuItem.h
@@ -20,5 +20,6 @@
+ (PBRefMenuItem *)addRemoteMethod:(BOOL)isRemote title:(NSString *)title action:(SEL)selector;
+ (NSArray *)defaultMenuItemsForRef:(PBGitRef *)ref commit:(PBGitCommit *)commit target:(id)target;
++ (PBRefMenuItem *)separatorItem;
@end
diff --git a/PBRefMenuItem.m b/PBRefMenuItem.m
index b8f1e58..a407c42 100644
--- a/PBRefMenuItem.m
+++ b/PBRefMenuItem.m
@@ -29,12 +29,21 @@
type = @"branch";
NSString *remote = [[[commit repository] config] valueForKeyPath:[NSString stringWithFormat:@"branch.%@.remote", [ref shortName]]];
- BOOL hasRemote = (remote ? YES : NO);
-
+ BOOL hasRemote = (remote ? YES : NO);
+ NSString * targetRef = [ref shortName];
+
if ([type isEqualToString:@"branch"]) {
- [array addObject:[self addRemoteMethod:hasRemote title:@"Push branch to remote" action:@selector(pushRef:)]];
- [array addObject:[self addRemoteMethod:hasRemote title:@"Pull down latest" action:@selector(pullRef:)]];
- [array addObject:[self addRemoteMethod:hasRemote title:@"Rebase local changes with latest" action:@selector(rebaseRef:)]];
+ if (hasRemote) {
+ PBRefMenuItem *item = [[PBRefMenuItem alloc] initWithTitle:[NSString stringWithFormat:@"Remote: %@", remote] action:nil keyEquivalent:@""];
+ [item setEnabled:NO];
+ [array addObject:item];
+ PBRefMenuItem *sepItem = [PBRefMenuItem separatorItem];
+ [array addObject:sepItem];
+ }
+
+ [array addObject:[self addRemoteMethod:hasRemote title:[NSString stringWithFormat:@"Push %@ to remote", targetRef] action:@selector(pushRef:)]];
+ [array addObject:[self addRemoteMethod:hasRemote title:[NSString stringWithFormat:@"Pull down latest"] action:@selector(pullRef:)]];
+ [array addObject:[self addRemoteMethod:hasRemote title:[NSString stringWithFormat:@"Rebase local changes with latest"] action:@selector(rebaseRef:)]];
}
if ([type isEqualToString:@"branch"])
@@ -59,4 +68,10 @@
return array;
}
+
++ (PBRefMenuItem *)separatorItem {
+ PBRefMenuItem * item = (PBRefMenuItem *) [super separatorItem];
+ return item;
+}
+
@end
diff --git a/RepositoryWindow.xib b/RepositoryWindow.xib
index e7005e4..c8a5253 100644
--- a/RepositoryWindow.xib
+++ b/RepositoryWindow.xib
@@ -12,7 +12,7 @@