mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-01-08 04:04:22 +02:00
Merge pull request #2707 from stefanhaller/better-prompt-for-discarding-old-file-changes
Better prompt for discarding old file changes
This commit is contained in:
commit
e229e26fbe
@ -15,3 +15,11 @@ func (f *CommitFile) ID() string {
|
||||
func (f *CommitFile) Description() string {
|
||||
return f.Name
|
||||
}
|
||||
|
||||
func (f *CommitFile) Added() bool {
|
||||
return f.ChangeStatus == "A"
|
||||
}
|
||||
|
||||
func (f *CommitFile) Deleted() bool {
|
||||
return f.ChangeStatus == "D"
|
||||
}
|
||||
|
@ -153,13 +153,24 @@ func (self *CommitFilesController) checkout(node *filetree.CommitFileNode) error
|
||||
}
|
||||
|
||||
func (self *CommitFilesController) discard(node *filetree.CommitFileNode) error {
|
||||
if node.File == nil {
|
||||
return self.c.ErrorMsg(self.c.Tr.DiscardNotSupportedForDirectory)
|
||||
}
|
||||
|
||||
if ok, err := self.c.Helpers().PatchBuilding.ValidateNormalWorkingTreeState(); !ok {
|
||||
return err
|
||||
}
|
||||
|
||||
prompt := self.c.Tr.DiscardFileChangesPrompt
|
||||
if node.File.Added() {
|
||||
prompt = self.c.Tr.DiscardAddedFileChangesPrompt
|
||||
} else if node.File.Deleted() {
|
||||
prompt = self.c.Tr.DiscardDeletedFileChangesPrompt
|
||||
}
|
||||
|
||||
return self.c.Confirm(types.ConfirmOpts{
|
||||
Title: self.c.Tr.DiscardFileChangesTitle,
|
||||
Prompt: self.c.Tr.DiscardFileChangesPrompt,
|
||||
Prompt: prompt,
|
||||
HandleConfirm: func() error {
|
||||
return self.c.WithWaitingStatus(self.c.Tr.RebasingStatus, func() error {
|
||||
self.c.LogAction(self.c.Tr.Actions.DiscardOldFileChange)
|
||||
|
@ -268,6 +268,9 @@ type TranslationSet struct {
|
||||
DiscardOldFileChange string
|
||||
DiscardFileChangesTitle string
|
||||
DiscardFileChangesPrompt string
|
||||
DiscardAddedFileChangesPrompt string
|
||||
DiscardDeletedFileChangesPrompt string
|
||||
DiscardNotSupportedForDirectory string
|
||||
DisabledForGPG string
|
||||
CreateRepo string
|
||||
BareRepo string
|
||||
@ -954,7 +957,10 @@ func EnglishTranslationSet() TranslationSet {
|
||||
CheckoutCommitFile: "Checkout file",
|
||||
DiscardOldFileChange: "Discard this commit's changes to this file",
|
||||
DiscardFileChangesTitle: "Discard file changes",
|
||||
DiscardFileChangesPrompt: "Are you sure you want to discard this commit's changes to this file? If this file was created in this commit, it will be deleted",
|
||||
DiscardFileChangesPrompt: "Are you sure you want to discard this commit's changes to this file?",
|
||||
DiscardAddedFileChangesPrompt: "Are you sure you want to discard this commit's changes to this file? The file was added in this commit, so it will be deleted again.",
|
||||
DiscardDeletedFileChangesPrompt: "Are you sure you want to discard this commit's changes to this file? The file was deleted in this commit, so it will reappear.",
|
||||
DiscardNotSupportedForDirectory: "Discarding changes is not supported for entire directories. Please use a custom patch for this.",
|
||||
DisabledForGPG: "Feature not available for users using GPG",
|
||||
CreateRepo: "Not in a git repository. Create a new git repository? (y/n): ",
|
||||
BareRepo: "You've attempted to open Lazygit in a bare repo but Lazygit does not yet support bare repos. Open most recent repo? (y/n) ",
|
||||
|
@ -43,7 +43,7 @@ var DiscardOldFileChange = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
|
||||
t.ExpectPopup().Confirmation().
|
||||
Title(Equals("Discard file changes")).
|
||||
Content(Contains("Are you sure you want to discard this commit's changes to this file?")).
|
||||
Content(Equals("Are you sure you want to discard this commit's changes to this file? The file was added in this commit, so it will be deleted again.")).
|
||||
Confirm()
|
||||
|
||||
t.Views().CommitFiles().
|
||||
|
Loading…
Reference in New Issue
Block a user