1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-07-05 00:59:19 +02:00

Use a better name for the auto-stash for creating a new branch

For the case of creating a new branch by moving commits to it, we were using the
current (old) branch name in the stash name; change this to use the new name
instead.
This commit is contained in:
Stefan Haller
2025-07-02 10:54:51 +02:00
parent 908975c758
commit 2a7ce19b73
2 changed files with 11 additions and 9 deletions

View File

@ -355,7 +355,7 @@ func (self *RefsHelper) NewBranch(from string, fromFormattedName string, suggest
Title: self.c.Tr.AutoStashTitle, Title: self.c.Tr.AutoStashTitle,
Prompt: self.c.Tr.AutoStashPrompt, Prompt: self.c.Tr.AutoStashPrompt,
HandleConfirm: func() error { HandleConfirm: func() error {
if err := self.c.Git().Stash.Push(self.c.Tr.StashPrefix + newBranchName); err != nil { if err := self.c.Git().Stash.Push(fmt.Sprintf(self.c.Tr.AutoStashForNewBranch, newBranchName)); err != nil {
return err return err
} }
if err := newBranchFunc(newBranchName, from); err != nil { if err := newBranchFunc(newBranchName, from); err != nil {
@ -389,7 +389,7 @@ func (self *RefsHelper) MoveCommitsToNewBranch() error {
return err return err
} }
withNewBranchNamePrompt := func(baseBranchName string, f func(string, string) error) error { withNewBranchNamePrompt := func(baseBranchName string, f func(string) error) error {
prompt := utils.ResolvePlaceholderString( prompt := utils.ResolvePlaceholderString(
self.c.Tr.NewBranchNameBranchOff, self.c.Tr.NewBranchNameBranchOff,
map[string]string{ map[string]string{
@ -408,7 +408,7 @@ func (self *RefsHelper) MoveCommitsToNewBranch() error {
self.c.LogAction(self.c.Tr.MoveCommitsToNewBranch) self.c.LogAction(self.c.Tr.MoveCommitsToNewBranch)
newBranchName := SanitizedBranchName(response) newBranchName := SanitizedBranchName(response)
return self.c.WithWaitingStatus(self.c.Tr.MovingCommitsToNewBranchStatus, func(gocui.Task) error { return self.c.WithWaitingStatus(self.c.Tr.MovingCommitsToNewBranchStatus, func(gocui.Task) error {
return f(currentBranch.Name, newBranchName) return f(newBranchName)
}) })
}, },
}) })
@ -447,8 +447,8 @@ func (self *RefsHelper) MoveCommitsToNewBranch() error {
{ {
Label: fmt.Sprintf(self.c.Tr.MoveCommitsToNewBranchFromBaseItem, shortBaseBranchName), Label: fmt.Sprintf(self.c.Tr.MoveCommitsToNewBranchFromBaseItem, shortBaseBranchName),
OnPress: func() error { OnPress: func() error {
return withNewBranchNamePrompt(shortBaseBranchName, func(currentBranch string, newBranchName string) error { return withNewBranchNamePrompt(shortBaseBranchName, func(newBranchName string) error {
return self.moveCommitsToNewBranchOffOfMainBranch(currentBranch, newBranchName, baseBranchRef) return self.moveCommitsToNewBranchOffOfMainBranch(newBranchName, baseBranchRef)
}) })
}, },
}, },
@ -462,14 +462,14 @@ func (self *RefsHelper) MoveCommitsToNewBranch() error {
}) })
} }
func (self *RefsHelper) moveCommitsToNewBranchStackedOnCurrentBranch(currentBranch string, newBranchName string) error { func (self *RefsHelper) moveCommitsToNewBranchStackedOnCurrentBranch(newBranchName string) error {
if err := self.c.Git().Branch.NewWithoutCheckout(newBranchName, "HEAD"); err != nil { if err := self.c.Git().Branch.NewWithoutCheckout(newBranchName, "HEAD"); err != nil {
return err return err
} }
mustStash := IsWorkingTreeDirty(self.c.Model().Files) mustStash := IsWorkingTreeDirty(self.c.Model().Files)
if mustStash { if mustStash {
if err := self.c.Git().Stash.Push(self.c.Tr.StashPrefix + currentBranch); err != nil { if err := self.c.Git().Stash.Push(fmt.Sprintf(self.c.Tr.AutoStashForNewBranch, newBranchName)); err != nil {
return err return err
} }
} }
@ -495,14 +495,14 @@ func (self *RefsHelper) moveCommitsToNewBranchStackedOnCurrentBranch(currentBran
return nil return nil
} }
func (self *RefsHelper) moveCommitsToNewBranchOffOfMainBranch(currentBranch string, newBranchName string, baseBranchRef string) error { func (self *RefsHelper) moveCommitsToNewBranchOffOfMainBranch(newBranchName string, baseBranchRef string) error {
commitsToCherryPick := lo.Filter(self.c.Model().Commits, func(commit *models.Commit, _ int) bool { commitsToCherryPick := lo.Filter(self.c.Model().Commits, func(commit *models.Commit, _ int) bool {
return commit.Status == models.StatusUnpushed return commit.Status == models.StatusUnpushed
}) })
mustStash := IsWorkingTreeDirty(self.c.Model().Files) mustStash := IsWorkingTreeDirty(self.c.Model().Files)
if mustStash { if mustStash {
if err := self.c.Git().Stash.Push(self.c.Tr.StashPrefix + currentBranch); err != nil { if err := self.c.Git().Stash.Push(fmt.Sprintf(self.c.Tr.AutoStashForNewBranch, newBranchName)); err != nil {
return err return err
} }
} }

View File

@ -450,6 +450,7 @@ type TranslationSet struct {
StashPrefix string StashPrefix string
AutoStashForUndo string AutoStashForUndo string
AutoStashForCheckout string AutoStashForCheckout string
AutoStashForNewBranch string
Discard string Discard string
DiscardChangesTitle string DiscardChangesTitle string
DiscardFileChangesTooltip string DiscardFileChangesTooltip string
@ -1545,6 +1546,7 @@ func EnglishTranslationSet() *TranslationSet {
StashPrefix: "Auto-stashing changes for ", StashPrefix: "Auto-stashing changes for ",
AutoStashForUndo: "Auto-stashing changes for undoing to %s", AutoStashForUndo: "Auto-stashing changes for undoing to %s",
AutoStashForCheckout: "Auto-stashing changes for checking out %s", AutoStashForCheckout: "Auto-stashing changes for checking out %s",
AutoStashForNewBranch: "Auto-stashing changes for creating new branch %s",
Discard: "Discard", Discard: "Discard",
DiscardFileChangesTooltip: "View options for discarding changes to the selected file.", DiscardFileChangesTooltip: "View options for discarding changes to the selected file.",
DiscardChangesTitle: "Discard changes", DiscardChangesTitle: "Discard changes",