mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 11:27:40 -04: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:
		| @@ -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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user