1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-02-03 13:21:56 +02:00

commands/git : returns an error instead of panicing

This commit is contained in:
Anthony HAMON 2018-09-18 20:53:32 +02:00
parent 9481920101
commit bdeb78c9a0
3 changed files with 19 additions and 7 deletions

View File

@ -499,12 +499,8 @@ func (c *GitCommand) Ignore(filename string) error {
}
// Show shows the diff of a commit
func (c *GitCommand) Show(sha string) string {
result, err := c.OSCommand.RunCommandWithOutput("git show --color " + sha)
if err != nil {
panic(err)
}
return result
func (c *GitCommand) Show(sha string) (string, error) {
return c.OSCommand.RunCommandWithOutput(fmt.Sprintf("git show --color %s", sha))
}
// Diff returns the diff of a file

View File

@ -1421,6 +1421,19 @@ func TestGitCommandRemoveFile(t *testing.T) {
}
}
func TestGitCommandShow(t *testing.T) {
gitCmd := newDummyGitCommand()
gitCmd.OSCommand.command = func(cmd string, args ...string) *exec.Cmd {
assert.EqualValues(t, "git", cmd)
assert.EqualValues(t, []string{"show", "--color", "456abcde"}, args)
return exec.Command("echo")
}
_, err := gitCmd.Show("456abcde")
assert.NoError(t, err)
}
func TestGitCommandCheckout(t *testing.T) {
type scenario struct {
testName string

View File

@ -68,7 +68,10 @@ func (gui *Gui) handleCommitSelect(g *gocui.Gui, v *gocui.View) error {
}
return gui.renderString(g, "main", gui.Tr.SLocalize("NoCommitsThisBranch"))
}
commitText := gui.GitCommand.Show(commit.Sha)
commitText, err := gui.GitCommand.Show(commit.Sha)
if err != nil {
return err
}
return gui.renderString(g, "main", commitText)
}