Skip to content

Commit

Permalink
add error return value to recover (#514)
Browse files Browse the repository at this point in the history
  • Loading branch information
omryMen committed Apr 30, 2024
1 parent ced2db0 commit bd42e80
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions src/common/gitservice/git_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"os"
"os/exec"
"path/filepath"
"runtime/debug"
"strings"
"sync"

Expand All @@ -15,6 +16,7 @@ import (
"github.com/go-git/go-git/v5"
"github.com/go-git/go-git/v5/plumbing/object"
"github.com/go-git/go-git/v5/plumbing/transport"
"github.com/pkg/errors"
)

type GitService struct {
Expand Down Expand Up @@ -139,14 +141,15 @@ 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
defer func() {
if r := recover(); r != nil {
fmt.Println("Recovered in f", r)
fmt.Println("Recovered in f", r, debug.Stack())
err = errors.Errorf("unknown panic, %v", r)
}
}()
blame, err := git.Blame(selectedCommit, relativeFilePath)
blame, err = git.Blame(selectedCommit, relativeFilePath)
if err != nil {
return nil, fmt.Errorf("failed to get blame for latest commit of file %s because of error %s", relativeFilePath, err)
}
Expand Down

0 comments on commit bd42e80

Please sign in to comment.