diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2021-04-10 17:31:23 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2021-04-11 17:07:49 +1000 |
commit | 6fbe660f96419e27f13004b2afede5272f9eb9f7 (patch) | |
tree | 43d36ca7536404ee1df8a72ef5e754c8f5dba51d /pkg/gui/commits_panel.go | |
parent | 74320f00752926b42f0e4d6f84b3816d7a0134a9 (diff) |
full coverage for logging commands
Diffstat (limited to 'pkg/gui/commits_panel.go')
-rw-r--r-- | pkg/gui/commits_panel.go | 60 |
1 files changed, 45 insertions, 15 deletions
diff --git a/pkg/gui/commits_panel.go b/pkg/gui/commits_panel.go index 4e360f290..a9294d66e 100644 --- a/pkg/gui/commits_panel.go +++ b/pkg/gui/commits_panel.go @@ -1,10 +1,12 @@ package gui import ( + "fmt" "sync" "github.com/jesseduffield/lazygit/pkg/commands" "github.com/jesseduffield/lazygit/pkg/commands/models" + "github.com/jesseduffield/lazygit/pkg/commands/oscommands" "github.com/jesseduffield/lazygit/pkg/utils" ) @@ -169,7 +171,7 @@ func (gui *Gui) handleCommitSquashDown() error { prompt: gui.Tr.SureSquashThisCommit, handleConfirm: func() error { return gui.WithWaitingStatus(gui.Tr.SquashingStatus, func() error { - err := gui.GitCommand.InteractiveRebase(gui.State.Commits, gui.State.Panels.Commits.SelectedLineIdx, "squash") + err := gui.GitCommand.WithSpan("Squash commit down").InteractiveRebase(gui.State.Commits, gui.State.Panels.Commits.SelectedLineIdx, "squash") return gui.handleGenericMergeCommandResult(err) }) }, @@ -198,7 +200,7 @@ func (gui *Gui) handleCommitFixup() error { prompt: gui.Tr.SureFixupThisCommit, handleConfirm: func() error { return gui.WithWaitingStatus(gui.Tr.FixingStatus, func() error { - err := gui.GitCommand.InteractiveRebase(gui.State.Commits, gui.State.Panels.Commits.SelectedLineIdx, "fixup") + err := gui.GitCommand.WithSpan("Fixup commit").InteractiveRebase(gui.State.Commits, gui.State.Panels.Commits.SelectedLineIdx, "fixup") return gui.handleGenericMergeCommandResult(err) }) }, @@ -236,7 +238,7 @@ func (gui *Gui) handleRenameCommit() error { title: gui.Tr.LcRenameCommit, initialContent: message, handleConfirm: func(response string) error { - if err := gui.GitCommand.RenameCommit(response); err != nil { + if err := gui.GitCommand.WithSpan("Reword commit").RenameCommit(response); err != nil { return gui.surfaceError(err) } @@ -258,7 +260,7 @@ func (gui *Gui) handleRenameCommitEditor() error { return nil } - subProcess, err := gui.GitCommand.RewordCommit(gui.State.Commits, gui.State.Panels.Commits.SelectedLineIdx) + subProcess, err := gui.GitCommand.WithSpan("Reword commit").RewordCommit(gui.State.Commits, gui.State.Panels.Commits.SelectedLineIdx) if err != nil { return gui.surfaceError(err) } @@ -286,6 +288,12 @@ func (gui *Gui) handleMidRebaseCommand(action string) (bool, error) { return true, gui.createErrorPanel(gui.Tr.LcRewordNotSupported) } + gui.OnRunCommand(oscommands.NewCmdLogEntry( + fmt.Sprintf("Updating rebase action of commit %s to '%s'", selectedCommit.ShortSha(), action), + "Update rebase TODO", + false, + )) + if err := gui.GitCommand.EditRebaseTodo(gui.State.Panels.Commits.SelectedLineIdx, action); err != nil { return false, gui.surfaceError(err) } @@ -311,7 +319,7 @@ func (gui *Gui) handleCommitDelete() error { prompt: gui.Tr.DeleteCommitPrompt, handleConfirm: func() error { return gui.WithWaitingStatus(gui.Tr.DeletingStatus, func() error { - err := gui.GitCommand.InteractiveRebase(gui.State.Commits, gui.State.Panels.Commits.SelectedLineIdx, "drop") + err := gui.GitCommand.WithSpan("Drop commit").InteractiveRebase(gui.State.Commits, gui.State.Panels.Commits.SelectedLineIdx, "drop") return gui.handleGenericMergeCommandResult(err) }) }, @@ -323,12 +331,23 @@ func (gui *Gui) handleCommitMoveDown() error { return err } + span := "Move commit down" + index := gui.State.Panels.Commits.SelectedLineIdx selectedCommit := gui.State.Commits[index] if selectedCommit.Status == "rebasing" { if gui.State.Commits[index+1].Status != "rebasing" { return nil } + + // logging directly here because MoveTodoDown doesn't have enough information + // to provide a useful log + gui.OnRunCommand(oscommands.NewCmdLogEntry( + fmt.Sprintf("Moving commit %s down", selectedCommit.ShortSha()), + span, + false, + )) + if err := gui.GitCommand.MoveTodoDown(index); err != nil { return gui.surfaceError(err) } @@ -337,7 +356,7 @@ func (gui *Gui) handleCommitMoveDown() error { } return gui.WithWaitingStatus(gui.Tr.MovingStatus, func() error { - err := gui.GitCommand.MoveCommitDown(gui.State.Commits, index) + err := gui.GitCommand.WithSpan(span).MoveCommitDown(gui.State.Commits, index) if err == nil { gui.State.Panels.Commits.SelectedLineIdx++ } @@ -354,8 +373,19 @@ func (gui *Gui) handleCommitMoveUp() error { if index == 0 { return nil } + + span := "Move commit up" + selectedCommit := gui.State.Commits[index] if selectedCommit.Status == "rebasing" { + // logging directly here because MoveTodoDown doesn't have enough information + // to provide a useful log + gui.OnRunCommand(oscommands.NewCmdLogEntry( + fmt.Sprintf("Moving commit %s up", selectedCommit.ShortSha()), + span, + false, + )) + if err := gui.GitCommand.MoveTodoDown(index - 1); err != nil { return gui.surfaceError(err) } @@ -364,7 +394,7 @@ func (gui *Gui) handleCommitMoveUp() error { } return gui.WithWaitingStatus(gui.Tr.MovingStatus, func() error { - err := gui.GitCommand.MoveCommitDown(gui.State.Commits, index-1) + err := gui.GitCommand.WithSpan(span).MoveCommitDown(gui.State.Commits, index-1) if err == nil { gui.State.Panels.Commits.SelectedLineIdx-- } @@ -386,7 +416,7 @@ func (gui *Gui) handleCommitEdit() error { } return gui.WithWaitingStatus(gui.Tr.RebasingStatus, func() error { - err = gui.GitCommand.InteractiveRebase(gui.State.Commits, gui.State.Panels.Commits.SelectedLineIdx, "edit") + err = gui.GitCommand.WithSpan("Edit commit").InteractiveRebase(gui.State.Commits, gui.State.Panels.Commits.SelectedLineIdx, "edit") return gui.handleGenericMergeCommandResult(err) }) } @@ -401,7 +431,7 @@ func (gui *Gui) handleCommitAmendTo() error { prompt: gui.Tr.AmendCommitPrompt, handleConfirm: func() error { return gui.WithWaitingStatus(gui.Tr.AmendingStatus, func() error { - err := gui.GitCommand.AmendTo(gui.State.Commits[gui.State.Panels.Commits.SelectedLineIdx].Sha) + err := gui.GitCommand.WithSpan("Amend commit").AmendTo(gui.State.Commits[gui.State.Panels.Commits.SelectedLineIdx].Sha) return gui.handleGenericMergeCommandResult(err) }) }, @@ -431,7 +461,7 @@ func (gui *Gui) handleCommitRevert() error { return err } - if err := gui.GitCommand.Revert(gui.State.Commits[gui.State.Panels.Commits.SelectedLineIdx].Sha); err != nil { + if err := gui.GitCommand.WithSpan("Revert commit").Revert(gui.State.Commits[gui.State.Panels.Commits.SelectedLineIdx].Sha); err != nil { return gui.surfaceError(err) } gui.State.Panels.Commits.SelectedLineIdx++ @@ -468,7 +498,7 @@ func (gui *Gui) handleCreateFixupCommit() error { title: gui.Tr.CreateFixupCommit, prompt: prompt, handleConfirm: func() error { - if err := gui.GitCommand.CreateFixupCommit(commit.Sha); err != nil { + if err := gui.GitCommand.WithSpan("Create fixup commit").CreateFixupCommit(commit.Sha); err != nil { return gui.surfaceError(err) } @@ -499,7 +529,7 @@ func (gui *Gui) handleSquashAllAboveFixupCommits() error { prompt: prompt, handleConfirm: func() error { return gui.WithWaitingStatus(gui.Tr.SquashingStatus, func() error { - err := gui.GitCommand.SquashAllAboveFixupCommits(commit.Sha) + err := gui.GitCommand.WithSpan("Squash all above fixup commits").SquashAllAboveFixupCommits(commit.Sha) return gui.handleGenericMergeCommandResult(err) }) }, @@ -522,7 +552,7 @@ func (gui *Gui) handleCreateLightweightTag(commitSha string) error { return gui.prompt(promptOpts{ title: gui.Tr.TagNameTitle, handleConfirm: func(response string) error { - if err := gui.GitCommand.CreateLightweightTag(response, commitSha); err != nil { + if err := gui.GitCommand.WithSpan("Create lightweight tag").CreateLightweightTag(response, commitSha); err != nil { return gui.surfaceError(err) } return gui.refreshSidePanels(refreshOptions{mode: ASYNC, scope: []RefreshableView{COMMITS, TAGS}}) @@ -540,7 +570,7 @@ func (gui *Gui) handleCheckoutCommit() error { title: gui.Tr.LcCheckoutCommit, prompt: gui.Tr.SureCheckoutThisCommit, handleConfirm: func() error { - return gui.handleCheckoutRef(commit.Sha, handleCheckoutRefOptions{}) + return gui.handleCheckoutRef(commit.Sha, handleCheckoutRefOptions{span: "Checkout commit"}) }, }) } @@ -595,7 +625,7 @@ func (gui *Gui) handleCopySelectedCommitMessageToClipboard() error { return gui.surfaceError(err) } - if err := gui.OSCommand.CopyToClipboard(message); err != nil { + if err := gui.OSCommand.WithSpan("Copy commit message to clipboard").CopyToClipboard(message); err != nil { return gui.surfaceError(err) } |