mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-26 09:50:41 +00:00
Fix panic when getting notes by ref (#23372)
Fix #23357 .
Now the `/repos/{owner}/{repo}/git/notes/{sha}` API supports getting
notes by a ref or sha
(https://try.gitea.io/api/swagger#/repository/repoGetNote). But the
`GetNote` func can only accept commit ID.
a12f575737/modules/git/notes_nogogit.go (L18)
So we need to convert the query parameter to commit ID before calling
`GetNote`.
This commit is contained in:
parent
b116418f05
commit
15a1c2d7ef
1 changed files with 11 additions and 1 deletions
|
@ -58,8 +58,18 @@ func getNote(ctx *context.APIContext, identifier string) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
commitSHA, err := ctx.Repo.GitRepo.ConvertToSHA1(identifier)
|
||||||
|
if err != nil {
|
||||||
|
if git.IsErrNotExist(err) {
|
||||||
|
ctx.NotFound(err)
|
||||||
|
} else {
|
||||||
|
ctx.Error(http.StatusInternalServerError, "ConvertToSHA1", err)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
var note git.Note
|
var note git.Note
|
||||||
if err := git.GetNote(ctx, ctx.Repo.GitRepo, identifier, ¬e); err != nil {
|
if err := git.GetNote(ctx, ctx.Repo.GitRepo, commitSHA.String(), ¬e); err != nil {
|
||||||
if git.IsErrNotExist(err) {
|
if git.IsErrNotExist(err) {
|
||||||
ctx.NotFound(identifier)
|
ctx.NotFound(identifier)
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in a new issue