From 6362b24a59dc8f9cd12a7ee8f044cc15d26e2f79 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 19 Feb 2021 08:40:17 +0800 Subject: [PATCH] Fix when a commit not found returned 500 (#14732) Co-authored-by: Lauris BH --- modules/git/repo_commit_nogogit.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/git/repo_commit_nogogit.go b/modules/git/repo_commit_nogogit.go index a43fe4b33..0a92de170 100644 --- a/modules/git/repo_commit_nogogit.go +++ b/modules/git/repo_commit_nogogit.go @@ -8,6 +8,7 @@ package git import ( "bufio" + "errors" "fmt" "io" "io/ioutil" @@ -70,10 +71,15 @@ func (repo *Repository) getCommit(id SHA1) (*Commit, error) { bufReader := bufio.NewReader(stdoutReader) _, typ, size, err := ReadBatchLine(bufReader) if err != nil { + if errors.Is(err, io.EOF) { + return nil, ErrNotExist{ID: id.String()} + } return nil, err } switch typ { + case "missing": + return nil, ErrNotExist{ID: id.String()} case "tag": // then we need to parse the tag // and load the commit