mirror of
1
Fork 0

feat: improve error handling of commit rendering

- Simplify if-else expression to `NotFoundOrServerError`.
- I cannot find an existing scenario where `Getdiff` returns an error
and where it therefore should show a 404 error in the context of
rendering a diff of a commit. So simply return it as an Internal Server
Error, this also helps with debugging if an actual error occurs
here (404 errors are only logged at the DEBUG level).
- The first change is already covered under existing testing, the second
change is not trivial to test.
This commit is contained in:
Gusted 2025-03-05 18:40:13 +01:00
parent c1399947f4
commit 4c123d8e3b
No known key found for this signature in database
GPG Key ID: FD821B732837125F
1 changed files with 2 additions and 6 deletions

View File

@ -315,11 +315,7 @@ func Diff(ctx *context.Context) {
commit, err := gitRepo.GetCommit(commitID)
if err != nil {
if git.IsErrNotExist(err) {
ctx.NotFound("Repo.GitRepo.GetCommit", err)
} else {
ctx.ServerError("Repo.GitRepo.GetCommit", err)
}
ctx.NotFoundOrServerError("gitRepo.GetCommit", git.IsErrNotExist, err)
return
}
if len(commitID) != commit.ID.Type().FullLength() {
@ -343,7 +339,7 @@ func Diff(ctx *context.Context) {
FileOnly: fileOnly,
}, files...)
if err != nil {
ctx.NotFound("GetDiff", err)
ctx.ServerError("GetDiff", err)
return
}