@@ -365,7 +365,7 @@ public ContextMenu MakeContextMenu(ListBox list)
365365 if ( tags . Count > 0 )
366366 {
367367 foreach ( var tag in tags )
368- FillTagMenu ( menu , tag ) ;
368+ FillTagMenu ( menu , tag , current , commit . IsMerged ) ;
369369 menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
370370 }
371371
@@ -893,7 +893,7 @@ private void FillRemoteBranchMenu(ContextMenu menu, Models.Branch branch, Models
893893 menu . Items . Add ( submenu ) ;
894894 }
895895
896- private void FillTagMenu ( ContextMenu menu , Models . Tag tag )
896+ private void FillTagMenu ( ContextMenu menu , Models . Tag tag , Models . Branch current , bool merged )
897897 {
898898 var submenu = new MenuItem ( ) ;
899899 submenu . Header = tag . Name ;
@@ -912,6 +912,19 @@ private void FillTagMenu(ContextMenu menu, Models.Tag tag)
912912 } ;
913913 submenu . Items . Add ( push ) ;
914914
915+ var merge = new MenuItem ( ) ;
916+ merge . Header = new Views . NameHighlightedTextBlock ( "TagCM.Merge" , tag . Name , current . Name ) ;
917+ merge . Icon = App . CreateMenuIcon ( "Icons.Merge" ) ;
918+ merge . IsEnabled = ! merged ;
919+ merge . Click += ( _ , e ) =>
920+ {
921+ if ( PopupHost . CanCreatePopup ( ) )
922+ PopupHost . ShowPopup ( new Merge ( _repo , tag . Name , current . Name ) ) ;
923+ e . Handled = true ;
924+ } ;
925+ submenu . Items . Add ( merge ) ;
926+ submenu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
927+
915928 var delete = new MenuItem ( ) ;
916929 delete . Header = new Views . NameHighlightedTextBlock ( "TagCM.Delete" , tag . Name ) ;
917930 delete . Icon = App . CreateMenuIcon ( "Icons.Clear" ) ;
0 commit comments