diff --git a/pkg/gui/controllers/helpers/refs_helper.go b/pkg/gui/controllers/helpers/refs_helper.go index 1aa4d8dc3..02af116b5 100644 --- a/pkg/gui/controllers/helpers/refs_helper.go +++ b/pkg/gui/controllers/helpers/refs_helper.go @@ -278,7 +278,17 @@ func (self *RefsHelper) CreateCheckoutMenu(commit *models.Commit) error { }) hash := commit.Hash - var menuItems []*types.MenuItem + + menuItems := []*types.MenuItem{ + { + LabelColumns: []string{fmt.Sprintf(self.c.Tr.Actions.CheckoutCommitAsDetachedHead, utils.ShortHash(hash))}, + OnPress: func() error { + self.c.LogAction(self.c.Tr.Actions.CheckoutCommit) + return self.CheckoutRef(hash, types.CheckoutRefOptions{}) + }, + Key: 'd', + }, + } if len(branches) > 0 { menuItems = append(menuItems, lo.Map(branches, func(branch *models.Branch, index int) *types.MenuItem { @@ -304,15 +314,6 @@ func (self *RefsHelper) CreateCheckoutMenu(commit *models.Commit) error { }) } - menuItems = append(menuItems, &types.MenuItem{ - LabelColumns: []string{fmt.Sprintf(self.c.Tr.Actions.CheckoutCommitAsDetachedHead, utils.ShortHash(hash))}, - OnPress: func() error { - self.c.LogAction(self.c.Tr.Actions.CheckoutCommit) - return self.CheckoutRef(hash, types.CheckoutRefOptions{}) - }, - Key: 'd', - }) - return self.c.Menu(types.CreateMenuOptions{ Title: self.c.Tr.Actions.CheckoutBranchOrCommit, Items: menuItems, diff --git a/pkg/integration/tests/commit/checkout.go b/pkg/integration/tests/commit/checkout.go index 455aa273c..7815e89de 100644 --- a/pkg/integration/tests/commit/checkout.go +++ b/pkg/integration/tests/commit/checkout.go @@ -32,10 +32,11 @@ var Checkout = NewIntegrationTest(NewIntegrationTestArgs{ t.ExpectPopup().Menu(). Title(Contains("Checkout branch or commit")). Lines( - Contains("Checkout branch").IsSelected(), - MatchesRegexp("Checkout commit [a-f0-9]+ as detached head"), + MatchesRegexp("Checkout commit [a-f0-9]+ as detached head").IsSelected(), + Contains("Checkout branch"), Contains("Cancel"), ). + Select(Contains("Checkout branch")). Tooltip(Contains("Disabled: No branches found at selected commit.")). Select(MatchesRegexp("Checkout commit [a-f0-9]+ as detached head")). Confirm() @@ -53,9 +54,9 @@ var Checkout = NewIntegrationTest(NewIntegrationTestArgs{ t.ExpectPopup().Menu(). Title(Contains("Checkout branch or commit")). Lines( - Contains("Checkout branch 'branch1'").IsSelected(), + MatchesRegexp("Checkout commit [a-f0-9]+ as detached head").IsSelected(), + Contains("Checkout branch 'branch1'"), Contains("Checkout branch 'master'"), - MatchesRegexp("Checkout commit [a-f0-9]+ as detached head"), Contains("Cancel"), ). Select(Contains("Checkout branch 'master'")).