From: Lunny Xiao Date: Fri, 19 Feb 2021 00:40:17 +0000 (+0800) Subject: Fix when a commit not found returned 500 (#14732) X-Git-Tag: v1.15.0-dev~162 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=6362b24a59dc8f9cd12a7ee8f044cc15d26e2f79;p=gitea.git Fix when a commit not found returned 500 (#14732) Co-authored-by: Lauris BH --- diff --git a/modules/git/repo_commit_nogogit.go b/modules/git/repo_commit_nogogit.go index a43fe4b334..0a92de1703 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