summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiteabot <teabot@gitea.io>2024-03-04 01:10:22 +0800
committerGitHub <noreply@github.com>2024-03-03 17:10:22 +0000
commitb84303ef6e73e2436f0c4c3985020be6bbbb5d1e (patch)
tree2dbfba269a793aff4c359d7df6a059b892d9190a
parent2b059f493e46b8b0fb52492623e36a8375cb5fbb (diff)
downloadgitea-b84303ef6e73e2436f0c4c3985020be6bbbb5d1e.tar.gz
gitea-b84303ef6e73e2436f0c4c3985020be6bbbb5d1e.zip
Fix 500 when pushing release to an empty repo (#29554) (#29564)
Backport #29554 by @lng2020 As title. The former code directly used `ctx.Repo.GitRepo`, causing 500. https://github.com/go-gitea/gitea/blob/22b4f0c09f1de5e581929bd10f39833d30d2c482/routers/api/v1/repo/release.go#L241 Co-authored-by: Nanguan Lin <nanguanlin6@gmail.com>
-rw-r--r--routers/api/v1/repo/release.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/routers/api/v1/repo/release.go b/routers/api/v1/repo/release.go
index 6c70bffca3..dee6ae58bb 100644
--- a/routers/api/v1/repo/release.go
+++ b/routers/api/v1/repo/release.go
@@ -4,6 +4,7 @@
package repo
import (
+ "fmt"
"net/http"
"code.gitea.io/gitea/models"
@@ -221,6 +222,10 @@ func CreateRelease(ctx *context.APIContext) {
// "409":
// "$ref": "#/responses/error"
form := web.GetForm(ctx).(*api.CreateReleaseOption)
+ if ctx.Repo.Repository.IsEmpty {
+ ctx.Error(http.StatusUnprocessableEntity, "RepoIsEmpty", fmt.Errorf("repo is empty"))
+ return
+ }
rel, err := repo_model.GetRelease(ctx, ctx.Repo.Repository.ID, form.TagName)
if err != nil {
if !repo_model.IsErrReleaseNotExist(err) {