diff options
author | Dennis Keitzel <github@pinshot.net> | 2017-06-11 04:57:28 +0200 |
---|---|---|
committer | Bo-Yi Wu <appleboy.tw@gmail.com> | 2017-06-10 21:57:28 -0500 |
commit | 96b4780727b49a2c30c640a73751566f60ffc2af (patch) | |
tree | 874c3bd796279cb5e1bf9cc560a07edc3a946673 /routers | |
parent | f2fcd9dcd834b611d2f321829e814a741054c4ea (diff) | |
download | gitea-96b4780727b49a2c30c640a73751566f60ffc2af.tar.gz gitea-96b4780727b49a2c30c640a73751566f60ffc2af.zip |
Gracefully handle bare repositories on API operations. (#1932)
Signed-off-by: Dennis Keitzel <github@pinshot.net>
Diffstat (limited to 'routers')
-rw-r--r-- | routers/api/v1/repo/branch.go | 7 | ||||
-rw-r--r-- | routers/api/v1/repo/file.go | 5 |
2 files changed, 11 insertions, 1 deletions
diff --git a/routers/api/v1/repo/branch.go b/routers/api/v1/repo/branch.go index 3c73ae62c2..489fbe6b4e 100644 --- a/routers/api/v1/repo/branch.go +++ b/routers/api/v1/repo/branch.go @@ -7,6 +7,7 @@ package repo import ( api "code.gitea.io/sdk/gitea" + "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/routers/api/v1/convert" ) @@ -16,7 +17,11 @@ import ( func GetBranch(ctx *context.APIContext) { branch, err := ctx.Repo.Repository.GetBranch(ctx.Params(":branchname")) if err != nil { - ctx.Error(500, "GetBranch", err) + if models.IsErrBranchNotExist(err) { + ctx.Error(404, "GetBranch", err) + } else { + ctx.Error(500, "GetBranch", err) + } return } diff --git a/routers/api/v1/repo/file.go b/routers/api/v1/repo/file.go index 16a31f96c7..9d12a6e136 100644 --- a/routers/api/v1/repo/file.go +++ b/routers/api/v1/repo/file.go @@ -20,6 +20,11 @@ func GetRawFile(ctx *context.APIContext) { return } + if ctx.Repo.Repository.IsBare { + ctx.Status(404) + return + } + blob, err := ctx.Repo.Commit.GetBlobByPath(ctx.Repo.TreePath) if err != nil { if git.IsErrNotExist(err) { |