mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-22 12:54:53 -05:00
response 404 for diff/patch of a commit that not exist (#15221)
* response 404 for diff/patch of a commit that not exist fix #15217 Signed-off-by: a1012112796 <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>
This commit is contained in:
parent
f07b137e04
commit
007fb00c0e
2 changed files with 7 additions and 1 deletions
|
@ -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 {
|
func GetRepoRawDiffForFile(repo *Repository, startCommit, endCommit string, diffType RawDiffType, file string, writer io.Writer) error {
|
||||||
commit, err := repo.GetCommit(endCommit)
|
commit, err := repo.GetCommit(endCommit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("GetCommit: %v", err)
|
return err
|
||||||
}
|
}
|
||||||
fileArgs := make([]string, 0)
|
fileArgs := make([]string, 0)
|
||||||
if len(file) > 0 {
|
if len(file) > 0 {
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
package repo
|
package repo
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"path"
|
"path"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
@ -388,6 +389,11 @@ func RawDiff(ctx *context.Context) {
|
||||||
git.RawDiffType(ctx.Params(":ext")),
|
git.RawDiffType(ctx.Params(":ext")),
|
||||||
ctx.Resp,
|
ctx.Resp,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
|
if git.IsErrNotExist(err) {
|
||||||
|
ctx.NotFound("GetRawDiff",
|
||||||
|
errors.New("commit "+ctx.Params(":sha")+" does not exist."))
|
||||||
|
return
|
||||||
|
}
|
||||||
ctx.ServerError("GetRawDiff", err)
|
ctx.ServerError("GetRawDiff", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue