* response 404 for diff/patch of a commit that not exist
fix #15217
Signed-off-by: a101211279
<1012112796@qq.com>
* Update routers/repo/commit.go
Co-authored-by: silverwind <me@silverwind.io>
* use ctx.NotFound()
Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: 6543 <6543@obermui.de>
tags/v1.14.0
@@ -47,7 +47,7 @@ func GetRawDiffForFile(repoPath, startCommit, endCommit string, diffType RawDiff | |||
func GetRepoRawDiffForFile(repo *Repository, startCommit, endCommit string, diffType RawDiffType, file string, writer io.Writer) error { | |||
commit, err := repo.GetCommit(endCommit) | |||
if err != nil { | |||
return fmt.Errorf("GetCommit: %v", err) | |||
return err | |||
} | |||
fileArgs := make([]string, 0) | |||
if len(file) > 0 { |
@@ -6,6 +6,7 @@ | |||
package repo | |||
import ( | |||
"errors" | |||
"path" | |||
"strings" | |||
@@ -389,6 +390,11 @@ func RawDiff(ctx *context.Context) { | |||
git.RawDiffType(ctx.Params(":ext")), | |||
ctx.Resp, | |||
); err != nil { | |||
if git.IsErrNotExist(err) { | |||
ctx.NotFound("GetRawDiff", | |||
errors.New("commit "+ctx.Params(":sha")+" does not exist.")) | |||
return | |||
} | |||
ctx.ServerError("GetRawDiff", err) | |||
return | |||
} |