@@ -482,6 +482,21 @@ public ContextMenu MakeContextMenu(ListBox list)
482
482
} ;
483
483
menu . Items . Add ( rebase ) ;
484
484
485
+ if ( ! commit . HasDecorators )
486
+ {
487
+ var merge = new MenuItem ( ) ;
488
+ merge . Header = new Views . NameHighlightedTextBlock ( "CommitCM.Merge" , current . Name ) ;
489
+ merge . Icon = App . CreateMenuIcon ( "Icons.Merge" ) ;
490
+ merge . Click += ( _ , e ) =>
491
+ {
492
+ if ( PopupHost . CanCreatePopup ( ) )
493
+ PopupHost . ShowPopup ( new Merge ( _repo , commit , current . Name ) ) ;
494
+
495
+ e . Handled = true ;
496
+ } ;
497
+ menu . Items . Add ( merge ) ;
498
+ }
499
+
485
500
var cherryPick = new MenuItem ( ) ;
486
501
cherryPick . Header = App . Text ( "CommitCM.CherryPick" ) ;
487
502
cherryPick . Icon = App . CreateMenuIcon ( "Icons.CherryPick" ) ;
@@ -513,21 +528,6 @@ public ContextMenu MakeContextMenu(ListBox list)
513
528
e . Handled = true ;
514
529
} ;
515
530
menu . Items . Add ( cherryPick ) ;
516
-
517
- if ( ! commit . HasDecorators )
518
- {
519
- var merge = new MenuItem ( ) ;
520
- merge . Header = new Views . NameHighlightedTextBlock ( "CommitCM.Merge" , current . Name ) ;
521
- merge . Icon = App . CreateMenuIcon ( "Icons.Merge" ) ;
522
- merge . Click += ( _ , e ) =>
523
- {
524
- if ( PopupHost . CanCreatePopup ( ) )
525
- PopupHost . ShowPopup ( new Merge ( _repo , commit , current . Name ) ) ;
526
-
527
- e . Handled = true ;
528
- } ;
529
- menu . Items . Add ( merge ) ;
530
- }
531
531
}
532
532
else
533
533
{
@@ -541,11 +541,29 @@ public ContextMenu MakeContextMenu(ListBox list)
541
541
e . Handled = true ;
542
542
} ;
543
543
menu . Items . Add ( revert ) ;
544
+ }
544
545
546
+ if ( current . Head != commit . SHA )
547
+ {
548
+ var checkoutCommit = new MenuItem ( ) ;
549
+ checkoutCommit . Header = App . Text ( "CommitCM.Checkout" ) ;
550
+ checkoutCommit . Icon = App . CreateMenuIcon ( "Icons.Detached" ) ;
551
+ checkoutCommit . Click += ( _ , e ) =>
552
+ {
553
+ if ( PopupHost . CanCreatePopup ( ) )
554
+ PopupHost . ShowPopup ( new CheckoutCommit ( _repo , commit ) ) ;
555
+ e . Handled = true ;
556
+ } ;
557
+ menu . Items . Add ( checkoutCommit ) ;
558
+ }
559
+
560
+ menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
561
+
562
+ if ( commit . IsMerged && current . Head != commit . SHA )
563
+ {
545
564
var interactiveRebase = new MenuItem ( ) ;
546
565
interactiveRebase . Header = new Views . NameHighlightedTextBlock ( "CommitCM.InteractiveRebase" , current . Name ) ;
547
566
interactiveRebase . Icon = App . CreateMenuIcon ( "Icons.InteractiveRebase" ) ;
548
- interactiveRebase . IsVisible = current . Head != commit . SHA ;
549
567
interactiveRebase . Click += ( _ , e ) =>
550
568
{
551
569
if ( _repo . LocalChangesCount > 0 )
@@ -562,24 +580,9 @@ public ContextMenu MakeContextMenu(ListBox list)
562
580
e . Handled = true ;
563
581
} ;
564
582
menu . Items . Add ( interactiveRebase ) ;
583
+ menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
565
584
}
566
585
567
- if ( current . Head != commit . SHA )
568
- {
569
- var checkoutCommit = new MenuItem ( ) ;
570
- checkoutCommit . Header = App . Text ( "CommitCM.Checkout" ) ;
571
- checkoutCommit . Icon = App . CreateMenuIcon ( "Icons.Detached" ) ;
572
- checkoutCommit . Click += ( _ , e ) =>
573
- {
574
- if ( PopupHost . CanCreatePopup ( ) )
575
- PopupHost . ShowPopup ( new CheckoutCommit ( _repo , commit ) ) ;
576
- e . Handled = true ;
577
- } ;
578
- menu . Items . Add ( checkoutCommit ) ;
579
- }
580
-
581
- menu . Items . Add ( new MenuItem ( ) { Header = "-" } ) ;
582
-
583
586
if ( current . Head != commit . SHA )
584
587
{
585
588
var compareWithHead = new MenuItem ( ) ;
0 commit comments