File tree 1 file changed +5
-1
lines changed
1 file changed +5
-1
lines changed Original file line number Diff line number Diff line change @@ -44,6 +44,7 @@ + (NSArray *) defaultMenuItemsForRef:(PBGitRef *)ref inRepository:(PBGitReposito
44
44
NSString *headRefName = [headRef shortName ];
45
45
BOOL isHead = [ref isEqualToRef: headRef];
46
46
BOOL isOnHeadBranch = isHead ? YES : [repo isRefOnHeadBranch: ref];
47
+ BOOL isDetachedHead = (isHead && [headRefName isEqualToString: @" HEAD" ]);
47
48
48
49
NSString *remoteName = [ref remoteName ];
49
50
if (!remoteName && [ref isBranch ])
@@ -98,6 +99,9 @@ + (NSArray *) defaultMenuItemsForRef:(PBGitRef *)ref inRepository:(PBGitReposito
98
99
NSString *pushTitle = [NSString stringWithFormat: @" Push updates to %@ " , remoteName];
99
100
[items addObject: [PBRefMenuItem itemWithTitle: pushTitle action: @selector (pushUpdatesToRemote: ) enabled: YES ]];
100
101
}
102
+ else if (isDetachedHead) {
103
+ [items addObject: [PBRefMenuItem itemWithTitle: @" Push" action: nil enabled: NO ]];
104
+ }
101
105
else {
102
106
// push to default remote
103
107
BOOL hasDefaultRemote = NO ;
@@ -128,7 +132,7 @@ + (NSArray *) defaultMenuItemsForRef:(PBGitRef *)ref inRepository:(PBGitReposito
128
132
// delete ref
129
133
[items addObject: [PBRefMenuItem separatorItem ]];
130
134
NSString *deleteTitle = [NSString stringWithFormat: @" Delete %@ …" , targetRefName];
131
- [items addObject: [PBRefMenuItem itemWithTitle: deleteTitle action: @selector (showDeleteRefSheet: ) enabled: YES ]];
135
+ [items addObject: [PBRefMenuItem itemWithTitle: deleteTitle action: @selector (showDeleteRefSheet: ) enabled: !isDetachedHead ]];
132
136
133
137
for (PBRefMenuItem *item in items) {
134
138
[item setTarget: target];
You can’t perform that action at this time.
0 commit comments