diff --git a/models/repo_branch.go b/models/repo_branch.go index fcfd3e8ecbd..4821902e37a 100644 --- a/models/repo_branch.go +++ b/models/repo_branch.go @@ -39,7 +39,7 @@ func GetBranchesByPath(path string) ([]*Branch, error) { // GetBranch returns a branch by it's name func (repo *Repository) GetBranch(branch string) (*Branch, error) { if !git.IsBranchExist(repo.RepoPath(), branch) { - return nil, &ErrBranchNotExist{branch} + return nil, ErrBranchNotExist{branch} } return &Branch{ Path: repo.RepoPath(), diff --git a/routers/api/v1/repo/branch.go b/routers/api/v1/repo/branch.go index 3c73ae62c26..489fbe6b4e5 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 16a31f96c7a..9d12a6e136c 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) {