From d3d1064d5c70149619a6ee0b9ca2604898c765f1 Mon Sep 17 00:00:00 2001 From: Omry Mendelovich Date: Tue, 30 Apr 2024 10:06:37 +0300 Subject: [PATCH] add error return value to recover --- src/common/gitservice/git_service.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/common/gitservice/git_service.go b/src/common/gitservice/git_service.go index 390d23a4..24623fae 100644 --- a/src/common/gitservice/git_service.go +++ b/src/common/gitservice/git_service.go @@ -1,13 +1,14 @@ package gitservice import ( - "errors" "fmt" + "github.com/pkg/errors" "io" "log" "os" "os/exec" "path/filepath" + "runtime/debug" "strings" "sync" @@ -140,14 +141,12 @@ func (g *GitService) GetRepoName() string { return g.repoName } -func wrapGitBlame(selectedCommit *object.Commit, relativeFilePath string) (*git.BlameResult, error) { +func wrapGitBlame(selectedCommit *object.Commit, relativeFilePath string) (blame *git.BlameResult, err error) { // currently there's a bug inside go-git so in order to mitigate it we wrap it with recover - var err error - var blame *git.BlameResult defer func() { if r := recover(); r != nil { - fmt.Println("Recovered in f", r) - err = errors.New("unknown panic") + fmt.Println("Recovered in f", r, debug.Stack()) + err = errors.Errorf("unknown panic, %v", r) } }() blame, err = git.Blame(selectedCommit, relativeFilePath)