@@ -753,6 +753,23 @@ private ContextMenu CreateContextMenuForLocalBranch(ViewModels.Repository repo,
753753 menu . Items . Add ( push ) ;
754754 menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
755755
756+ var type = repo . GetGitFlowType ( branch ) ;
757+ if ( type != Models . GitFlowBranchType . None )
758+ {
759+ var finish = new MenuItem ( ) ;
760+ finish . Header = App . Text ( "BranchCM.Finish" , branch . Name ) ;
761+ finish . Icon = this . CreateMenuIcon ( "Icons.GitFlow.Finish" ) ;
762+ finish . IsEnabled = ! repo . IsBare ;
763+ finish . Click += ( _ , e ) =>
764+ {
765+ if ( repo . CanCreatePopup ( ) )
766+ repo . ShowPopup ( new ViewModels . GitFlowFinish ( repo , branch , type ) ) ;
767+ e . Handled = true ;
768+ } ;
769+ menu . Items . Add ( finish ) ;
770+ menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
771+ }
772+
756773 if ( upstream != null )
757774 {
758775 var compareWithUpstream = new MenuItem ( ) ;
@@ -858,6 +875,23 @@ private ContextMenu CreateContextMenuForLocalBranch(ViewModels.Repository repo,
858875 menu . Items . Add ( rebase ) ;
859876 menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
860877 menu . Items . Add ( interactiveRebase ) ;
878+
879+ var type = repo . GetGitFlowType ( branch ) ;
880+ if ( type != Models . GitFlowBranchType . None )
881+ {
882+ var finish = new MenuItem ( ) ;
883+ finish . Header = App . Text ( "BranchCM.Finish" , branch . Name ) ;
884+ finish . Icon = this . CreateMenuIcon ( "Icons.GitFlow.Finish" ) ;
885+ finish . IsEnabled = ! repo . IsBare || ! hasNoWorktree ;
886+ finish . Click += ( _ , e ) =>
887+ {
888+ if ( repo . CanCreatePopup ( ) )
889+ repo . ShowPopup ( new ViewModels . GitFlowFinish ( repo , branch , type ) ) ;
890+ e . Handled = true ;
891+ } ;
892+ menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
893+ menu . Items . Add ( finish ) ;
894+ }
861895 }
862896
863897 if ( hasNoWorktree )
@@ -912,25 +946,6 @@ private ContextMenu CreateContextMenuForLocalBranch(ViewModels.Repository repo,
912946 menu . Items . Add ( compareWith ) ;
913947 }
914948
915- if ( ! repo . IsBare )
916- {
917- var type = repo . GetGitFlowType ( branch ) ;
918- if ( type != Models . GitFlowBranchType . None )
919- {
920- var finish = new MenuItem ( ) ;
921- finish . Header = App . Text ( "BranchCM.Finish" , branch . Name ) ;
922- finish . Icon = this . CreateMenuIcon ( "Icons.GitFlow.Finish" ) ;
923- finish . Click += ( _ , e ) =>
924- {
925- if ( repo . CanCreatePopup ( ) )
926- repo . ShowPopup ( new ViewModels . GitFlowFinish ( repo , branch , type ) ) ;
927- e . Handled = true ;
928- } ;
929- menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
930- menu . Items . Add ( finish ) ;
931- }
932- }
933-
934949 if ( ! branch . IsDetachedHead )
935950 {
936951 var editDescription = new MenuItem ( ) ;
0 commit comments